PHP in_array()未找到值
可能重复:PHP in_array()未找到值,php,arrays,Php,Arrays,可能重复: 使用此代码从数据库返回以下数组: $skus = array(); $result = mysql_query($sql); if($result){ while($rows = mysql_fetch_array($result)){ $skus[]=$rows; } } 结果: Array ( [0] => Array { [0] => PUBELI [group_sku] => P
使用此代码从数据库返回以下数组:
$skus = array();
$result = mysql_query($sql);
if($result){
while($rows = mysql_fetch_array($result)){
$skus[]=$rows;
}
}
结果:
Array (
[0] => Array {
[0] => PUBELI
[group_sku] => PUBELI
)
[1] => Array (
[0] => PUBESSENTIALS
[group_sku] => PUBESSENTIALS
)
[2] => Array (
[0] => PUBMGRPROGROUPED
[group_sku] => PUBMGRPROGROUPED
)
[3] => Array (
[0] => PUB25GROUPED
[group_sku] => PUB25GROUPED
)
)
我正在使用in_数组查找此值:
if (in_array('PUBESSENTIALS', $skus))
它返回false。我这样做对吗
如果数据库中的值是字符串,为什么不将数组值括在引号中?假设$sku是上面所示的完整数组,那么'subessentials'将不在$sku中,因为$sku包含子数组 但是,在_数组中('subessentials',$skus[1])将返回true
尝试循环遍历每个$sku元素,然后检查该子元素的in_数组(value,childArray)假设$sku是上面显示的完整数组,则“subessentials”将不在$sku中,因为$sku包含子数组 但是,在_数组中('subessentials',$skus[1])将返回true
尝试循环遍历每个$skus元素,然后检查该子元素的in_数组(value,childArray)您只查看第一个数组,而不查看任何其他数组。您应该查看每个子阵列以测试每个子阵列。像这样的东西可以完成这项工作:
foreach($skus as $sku) {
if (in_array('PUBESSENTIALS', $sku)) {
return true;
}
}
您只查看第一个数组,而不查看任何其他数组。您应该查看每个子阵列以测试每个子阵列。像这样的东西可以完成这项工作:
foreach($skus as $sku) {
if (in_array('PUBESSENTIALS', $sku)) {
return true;
}
}
如果你可以用MySql做一些事情,不要使用PHP! 尝试以下解决方案:
$sql = "SELECT * FROM table WHERE str = 'PUBESSENTIALS'"; // some query just add WHERE
$result = mysql_query($sql);
if($result) $Row = mysql_fetch_array($result)
如果你可以用MySql做一些事情,不要使用PHP! 尝试以下解决方案:
$sql = "SELECT * FROM table WHERE str = 'PUBESSENTIALS'"; // some query just add WHERE
$result = mysql_query($sql);
if($result) $Row = mysql_fetch_array($result)
事实上,我是用另一种方式做的。我在查询中使用了where子句并检查了numrows。事实上,我用了另一种方法。我在查询中使用where子句并检查numrows