我已经将两个数组定义为
$array1 = (8,10);
Array2是stdobject的数组,后来使用json解码、编码将其转换为以下内容。Php回波输出相同如下:
$array2 = Array
(
[0] => Array
(
[id] => 6
)
[1] => Array
(
[id] => 8
)
[2] => Array
(
[id] => 10
)
)
后来我创建了一个阵列
foreach( $array2 as $value )
{
$valuesArray[] = array('',$value['id'],Input::get('date'),'0');
}
我想做的是将array1与valuesarray进行比较。如果$value[‘id’],即第二个元素与array1中的任何元素匹配,我将把$nnn的第四个元素保存为1。如果它与任何元素都不匹配,我将把它保存为0。我下面的代码:
foreach ($valuesArray as $value2)
{
foreach ($array1 as $value1)
{
if ($value2[1] == $value1)
{$x = 1;}
else
{$x = 0;}
}
$nnn[] = "('','".$value2[1]."','".Input::get('date')."','".$x."')";
}
echo '<pre>',print_r($nnn,1),'</pre>';
我得到的输出是:阵列
(
[0] => ('','6','2016-04-25','0')
[1] => ('','8','2016-04-25','0')
[2] => ('','10','2016-04-25','1')
)
正确的输出应该是:
Array
(
[0] => ('','6','2016-04-25','1')
[1] => ('','8','2016-04-25','1')
[2] => ('','10','2016-04-25','0')
)
试试这个:
$nnn = array();
foreach ($valuesArray as $value) {
$x = (in_array($value[1], $array1))?1:0;
$nnn[] = "('','".$value[1]."','".Input::get('date')."','{$x}')";
}