数组中的PHP值
嗨,我正在检查给定数组的某个值 我的数组看起来像数组中的PHP值,php,arrays,Php,Arrays,嗨,我正在检查给定数组的某个值 我的数组看起来像 while($row = mysqli_fetch_array($result)){ $positions[] = array( 'pos' => $row['pos'], 'mark' => $row['mark'] ); } 我正试图用这样的方法从中获取信息 <?php if(in_array('1', $positions)){ echo "x"; } ?> 我知
while($row = mysqli_fetch_array($result)){
$positions[] = array( 'pos' => $row['pos'], 'mark' => $row['mark'] );
}
我正试图用这样的方法从中获取信息
<?php
if(in_array('1', $positions)){
echo "x";
}
?>
我知道值“1”在数组中,但x没有作为out put发送。关于如何将“1”识别为数组中的值,有什么建议吗
编辑:
我意识到这是一个数组中的一个数组。是否可以在_array()中进行组合,例如:
是其中一个数组中的值“1”中的数组不是递归的。您正在检查1是否在一个没有意义的数组数组中。您必须在每个元素上循环并进行检查
$in = false;
foreach ($positions as $pos) {
if (in_array(1, $pos)) {
$in = true;
break;
}
}
in_数组不是递归的。您正在检查1是否在一个没有意义的数组数组中。您必须在每个元素上循环并进行检查
$in = false;
foreach ($positions as $pos) {
if (in_array(1, $pos)) {
$in = true;
break;
}
}
在_数组中
仅检查第一级。在本例中,它只看到一组数组,没有任何类型的数字。取而代之的是,考虑使用数组中。您正在将值1
与值Array
进行比较,后者显然不同
像这样的事情应该让你开始:
foreach ($positions as $position) {
if ($position['pos'] == 1) {
echo "x";
break;
}
}
问题是1
实际上不在数组中。它位于数组中的一个数组中。您正在将值1
与值Array
进行比较,后者显然不同
像这样的事情应该让你开始:
foreach ($positions as $position) {
if ($position['pos'] == 1) {
echo "x";
break;
}
}
这是因为$positions是一个数组数组(多维数组)。
它不包含简单的“1”
请改为尝试foreach循环:
foreach($postions as $value)
if ($value["pos"] == '1')
echo "x ".$value["mark"];
这是因为$positions是一个数组数组(多维数组)。
它不包含简单的“1”
请改为尝试foreach循环:
foreach($postions as $value)
if ($value["pos"] == '1')
echo "x ".$value["mark"];
您的数组$positions
是递归的,因为您在第一个代码段中使用了$positions[]
<数组中的代码>不是递归的(请参阅)。因此,您需要一个用于递归数组()的自定义函数:
您现在应该在脚本中调用而不是在\u array()
中调用,因为您在第一个代码段中使用了$positions[]
,所以您的数组$positions是递归的<数组中的代码>不是递归的(请参阅)。因此,您需要一个用于递归数组()的自定义函数:
现在,您不应该在脚本中调用\u array()
中的,而应该在\u arrayr()中调用