如何将字符串中包含的变量传递给php中的函数?

时间:2016-07-27 22:33:09

标签: php

我有6个数组,我想只将非空数组(至少2个数组是非空的,确实)传递给预定义的PHP函数,即array_intersect_assoc(),以便获得所有非数据的交集所以我试着通过在字符串中保存非空数组的名称,然后将字符串传递给函数,如下所示: -

    if(!empty($array1) {
        $non_empty='$array1';
    }
    if(!empty($array2) {
        $non_empty=$non_Empty.",".'$array2';
    }
    if(!empty($array3) {
        $non_empty=$non_Empty.",".'$array3';
    }
    if(!empty($array4) {
        $non_empty=$non_Empty.",".'$array4';
    }
    if(!empty($array5) {
        $non_empty=$non_Empty.",".'$array5';
    }
    if(!empty($array6) {
        $non_empty=$non_Empty.",".'$array6';
    }
    array_intersect_assoc($non_empty);

    //example $array1:-

    array (size=1)
    0 => 
      array (size=11)
        '_id' => 
          object(MongoId)[24]
            public '$id' => string '577b5248a2b2cb94180017cc' (length=24)
            'id' => string '1065521456869749' (length=16)
            'name' => string 'Ayush Bansal' (length=12)
            'college' => string 'JIIT' (length=4)
            'dob' => string '1995-03-18' (length=10)
            'email' => string 'itsayu01@gmail.com' (length=18)
            'picture' => string 'IMG_20160226_214611_6969.jpg' (length=60) 
            'city' => string 'Noida' (length=5)
            'country' => string 'India' (length=5)
            'time' => float 1447969569
            'lastMilestone' => string 'July 8,2016' (length=11)

但它不起作用。 请提出一些方法来实现这一目标。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

如上所述,将它们添加到数组中。

<html>

<div id="doctor_pane1">

</div>

</html>

否则您只需重新分配$ non_empty。

然后你可以将它们从$ non_empty中拉出来并在array_intersect_assoc()中使用它们。

答案 1 :(得分:0)

您可以在数组中存储非空数组,然后使用call_user_func_array以子数组作为参数调用array_intersect_assoc

$non_empty=[];
if(!empty($array1) )
{
    $non_empty[]=$array1;
}
if(!empty($array2) )
{
    $non_empty[]=$array2;
}
//other checks
$intersect = call_user_func_array('array_intersect_assoc', $non_empty);