php In_数组不能正确使用此代码
由于某些原因,我无法使in_数组函数与此代码一起正常工作。我想检查从数据库返回的数组中是否有特定的数字。因此,我将其传递到in_数组函数中,但即使在数字周围添加或删除引号,它仍然返回falsephp In_数组不能正确使用此代码,php,Php,由于某些原因,我无法使in_数组函数与此代码一起正常工作。我想检查从数据库返回的数组中是否有特定的数字。因此,我将其传递到in_数组函数中,但即使在数字周围添加或删除引号,它仍然返回false <?php include('connection.php'); $sql = mysqli_query($conn,"SELECT sku FROM inventory"); $arr = array(); while($row = mys
<?php
include('connection.php');
$sql = mysqli_query($conn,"SELECT sku FROM inventory");
$arr = array();
while($row = mysqli_fetch_array($sql)){
$arr[] = $row;
//echo $row['sku']. "<br>";
}
//echo $arr[0]['sku'];
print_r($arr);
if(in_array(12345678, $arr[0], TRUE)){
echo "here";
}else{
echo "not here";
}
?>
对于_array()中的
来说,您正在使数组变得复杂。如果将其设置为一维数组而不是多维数组,则它将正常工作
<?php
include('connection.php');
$sql = mysqli_query($conn,"SELECT sku FROM inventory");
$arr = [];
while($row = mysqli_fetch_array($sql)){
$arr[] = $row['sku'];
}
print_r($arr);
if(in_array('12345678', $arr)){
echo "here";
}else{
echo "not here";
}
?>
您只检查第一行。也许它在另一行。你为什么不把支票放在查询中从库存中选择sku,其中sku=12345678
您在严格模式(第三个参数)下在_数组中使用,并且mysqli_fetch_数组
返回字符串。不行。但是是的,如果你只检查表中是否有值,就不需要这样。对不起,你是对的。我可能在想PDO。哇,谢谢!我不知道是$arr=array()引起了这个问题!我不明白为什么我的数组是多维的,不是$arr=array()
导致了问题,而是$arr[]=$row代码>导致问题的原因。那是在构建一个多维数组,而in_array()
在这上面不起作用啊,我明白了。不定义$row['SKU'];对的我只是有目的地学习PHP大约两周了。我到处涉猎,但从未认真对待过。