如果我有一个关联数组,它存储来自csv文件的值,如下所示:
$file_users = fopen("Users.csv", "r");
while (($record = fgetcsv($file_users, 1024, ',""')) !== FALSE){
$users[]= array($record[0] => $record[2].$record[3]);
}
record [0],record [2]和record [3]是列中的值,逐行。
然后这是我从数组中搜索值并打印结果的方法:
for($i=0;$i<count($users);$i++){
foreach($users[$i] as $username_matricula => $username_fullname){
if($username_matricula === $some_string){
echo "Found: ".$some_string." and the result is: ".$username_fullname;
}#end if
}#end foreach
}#end for
它向我发出以下警告:
Warning: Invalid argument supplied for foreach().
我做错了什么?还有另一种方法可以在assoc数组中找到一个字符串吗?
答案 0 :(得分:1)
foreach((array)$users[$i] as $username_matricula => $username_fullname){
通过在实际数组前添加(数组),使其为空安全。 (没有警告)