【发布时间】:2011-10-03 07:34:52
【问题描述】:
谁能告诉我为什么 array_search 不适合我?我想要的只是搜索值并获取相应的键值 例如,如果我搜索 wiliam,我应该得到 4.. 它很简单,但对我不起作用
<?php
$fqlResult[0]['uid']='1';
$fqlResult[0]['name']='Jay';
$fqlResult[1]['uid']='2';
$fqlResult[1]['name']='UserName2';
$fqlResult[2]['uid']='3';
$fqlResult[2]['name']='Frances';
$fqlResult[3]['uid']='4';
$fqlResult[3]['name']='William';
for($i=0;$i<count($fqlResult);$i++)
{
$userdbname="'".$fqlResult[$i]['name']."'";
$userdb[$userdbname]="'".$fqlResult[$i]['uid']."'";
}
echo "<pre>";
print_r($userdb);
echo "</pre>";
echo array_search('4', $userdb);
?>
【问题讨论】:
-
您正在添加存储在变量中的额外引号...不确定您是否故意这样做。
$userdbname="'".$fqlResult[$i]['name']."'";表示 $userdbname 将打印为 'userName'(带有额外的单引号,而不仅仅是 userName)。 -
与问题无关,但请记住,如果名称不是唯一的,您可能会遇到问题。