php如何检索数组中的值

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:11:55
比如$WORDS['member_address'] = array(
1 => '山东',
'山西',
'河南',
'河北',
'广东',
'广西',
)
当我检索"山"的时候,同时会有"山东","山西"2条记录出现,并返回$key的值;
楼下的回答似乎可以,我开始用到的就是strpos这个函数,当查到数组中的第一个值得时候,strpos($value,"山"),返回的数值为0,返回false,也就是if 判断不成立.

补充: strpos 返回的值要永恒等运算符或者不恒等运算符 === 或者 !== 判断. 当测试的不存在时返回 false, 但是如果要检测的值在开头时 (比如 山 在 山东 的开头), 他返回的是 0, 就好像数组的开头是 0 而不是 1 一样. 因为 0 和 false 是相等的, 因此需要 === 来判断 strpos 返回的结果.

数组应该这样写

$WORDS['member_address'] = array ('山东', '山西', '河南', '河北', '广东', '广西');

下面可以有个判断:

$result = array();
foreach($WORDS['member_address'] as $key => $word) {

if(strpos($word, '山') !== false)
$result[] = 'KEY='.$key.', '.$word;

}

print_r($result);

随你改了
当然用正则作判断也行
如果你这样写数组更容易

'山' => array('山东', '山西')