将数组推入另一个数组

时间:2014-12-18 08:11:17

标签: php arrays

我有一个像:

这样的数组
$profile_typeid [] = custom_profile(
    0 => "44258",
    1 => "44259",
);

和另一个数组$meta_data[],我想推送这个数组$profile_typeid []。在此之前,它应该检查$meta_data[]是否包含$profile_typeid []。如果没有,那么添加其他明智的应该覆盖。

如何在PHP中获取内容

我试过了:

   if(!in_array($meta_data,$profile_typeid,true)){
        array_push($meta_data, $profile_typeid);
 }

我有两个数组的var_dump,比如

`阵列   ' custom_profile_type' =>     排列       0 =>字符串' 39242' (长度= 5)

null`

2 个答案:

答案 0 :(得分:0)

变化:

in_array($meta_data,$profile_typeid, true)

in_array($profile_typeid,$meta_data)

在语法中,您正在搜索针头中的干草堆。 (可以这么说)

http://php.net/manual/en/function.in-array.php

<强>更新

添加数组使用array_push。

if(!in_array($profile_typeid,$meta_data)){
    array_push($meta_data, $profile_typeid);

 }
else{
    $meta_data['custom_profile_type'] = $profile_typeid;
}

删除strict子句。在这种情况下,我认为不需要它。 这应该有用。

答案 1 :(得分:0)

你可以使用下面给出的代码来做到这一点......

$profile_typeid = array(
0 => "44258",
1 => "44259",
);

$meta_data = array(
0 => "34567",
1 => "67890",
2 => "44258"
);

foreach($profile_typeid as $pro_type){
   if(!in_array($pro_type,$meta_data)){
      array_push($meta_data, $pro_type);
   }
}
print_r($meta_data);

您使用的in_array(array(), $array, true); // false哪个是完全错误的,请查看手册了解更多详情http://php.net/manual/en/function.in-array.php

祝你好运..