php - 检查 php 数组中是否存在值 - 不起作用?

标签 php mysql arrays

我有以下 php 代码,它从 mysql 数据库获取序列化数组,然后反序列化它。这工作正常。以下代码:

$row=mysql_fetch_array($result);
$mydata=$row[0];
$unser=unserialize($mydata);

echo "$mydata<br>";
print_r($unser);
echo "<br>";
echo $unser[1901];

输出是这样的:

a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}
Array ( [2070] => 0.00 [1901] => 1.00 ) 
1.00

到目前为止,还不错。现在,我正在尝试编写代码以检查数组键 1901 是否存在。为此,我尝试了这个:

$search_array = $unser;
if (array_key_exists('1901', $search_array)) {
     echo "The key 1901 is in the array";
}

然而,这会返回一个错误。我做错了什么?

最佳答案

使用以下代码:

$mydata= 'a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}';
$unser=unserialize($mydata);

echo "$mydata<br>";
print_r($unser);
echo "<br>";
echo $unser['1901'];

$search_array = $unser;
if (array_key_exists('1901', $search_array)) {
     echo "<br />The key 1901 is in the array";
}

它将正常工作:

a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}
Array ( [2070] => 0.00 [1901] => 1.00 )
1.00
The key 1901 is in the array

检查您发布的代码行之后是否还有更多代码。我认为是另一段让您感到困惑的代码。

关于php - 检查 php 数组中是否存在值 - 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967666/

相关文章:

php - 拒绝用户 'admin' @'localhost' mysql 的访问

mysql - 用于选择传递日期时间的 SQL 子句语句 Codeigniter 事件记录

php - 如何将一个mysql表拆分为多个表并查询正确的区域?

php - 合并两个带有数字键的数组作为关联数组的值以插入MySQL中的多行

python - 使用for循环时索引越界

php - MySQL获取所有有 child 的 parent

javascript - 如何在一定时间后删除 HTML 附加内容

php - 未提交空白结果 mysql php

javascript - 如果嵌套对象具有特定值,则从数组中删除对象

php - 使用ajax检索数据库