是否有任何短的方法来获得在PHP
阵列的值。当我获得的阵列我必须这样做的一个字段“文本”:是否有任何短的方法来获得在PHP
$text = isset($tab['text'][0])?$tab['text'][0]:"";
是存在一个返回值时元件的任何功能$tab['text']
存在和""
当不是,当然不会在后一种情况下产生通知。
$text = @$tab['text'][0];
//------^
注意,$text
可能是NULL
。要解决此问题:
$text = @$tab['text'][0] . "";
//------^
$search_array = array('first' => 1, 'second' => 4); if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array"; }
的ternary operator?:
可以在PHP 5.3中使用这种方式:
return $tab['text'][0] ?: '';
太好了 - 我没有注意到5.3中的这个改变,直到现在:) – Flatlin3 2010-05-11 10:39:54
最后,我今天学到了一些东西! – 2010-05-11 10:44:18
糟糕,它不会在某些error_reporting配置下生成'E_NOTICE'吗? – 2010-05-11 10:45:51
不,PHP中没有更简单的方法。我假设你正在寻找类似javascripts'var foo = bar || false
的东西,但PHP只有三元运算符,就像你的例子。
这将返回null而不是空字符串。错误控制运算符也是丑陋的东西:) – 2010-05-11 10:39:06
它做OP的要求;) – 2010-05-11 10:41:28