我已将两个数组定义为
$array1 = (8,10);
Array2是stdobjects数组,后来使用json decode,encode转换为下面的数据。 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的第4个元素保存为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')
)
答案 0 :(得分:1)
试试这个:
$nnn = array();
foreach ($valuesArray as $value) {
$x = (in_array($value[1], $array1))?1:0;
$nnn[] = "('','".$value[1]."','".Input::get('date')."','{$x}')";
}