2010-05-11 55 views
0

阵列的值。当我获得的阵列我必须这样做的一个字段“文本”:是否有任何短的方法来获得在PHP

$text = isset($tab['text'][0])?$tab['text'][0]:""; 

是存在一个返回值时元件的任何功能$tab['text']存在和""当不是,当然不会在后一种情况下产生通知。

回答

1
$text = @$tab['text'][0]; 
//------^ 

注意,$text可能是NULL。要解决此问题:

$text = @$tab['text'][0] . ""; 
//------^ 
+0

这将返回null而不是空字符串。错误控制运算符也是丑陋的东西:) – 2010-05-11 10:39:06

+0

它做OP的要求;) – 2010-05-11 10:41:28

0
 

$search_array = array('first' => 1, 'second' => 4); 
if (array_key_exists('first', $search_array)) { 
    echo "The 'first' element is in the array"; 
} 
2

ternary operator?:可以在PHP 5.3中使用这种方式:

return $tab['text'][0] ?: ''; 
+0

太好了 - 我没有注意到5.3中的这个改变,直到现在:) – Flatlin3 2010-05-11 10:39:54

+0

最后,我今天学到了一些东西! – 2010-05-11 10:44:18

+0

糟糕,它不会在某些error_reporting配置下生成'E_NOTICE'吗? – 2010-05-11 10:45:51

0

不,PHP中没有更简单的方法。我假设你正在寻找类似javascripts'var foo = bar || false的东西,但PHP只有三元运算符,就像你的例子。