PHP根据数组匹配数组键和数组id从数组中添加值

问题描述 投票:-1回答:2

Image for clear understanding 我有两个阵列

  1. 带数组键的数组(第一个数组) array:2 [ 1 => array:1 [ 0 => "sdfs,sfd,ry,fh" ] 4 => array:1 [ 1 => "sdfs,sfd,ry,fh,xcz,dsf" ] ]
  2. 数据阵列第二个数组 #attributes: array:15 [ "id" => 1 "ipr_name" => "eyJpdiI6IitWVitYZmkxSVozcHJQUGpUQlBGXC9BPT0iLCJ2YWx1ZSI6IkVOeFwvaVplZlhPS2NlclVZRXRlNHdnPT0iLCJtYWMiOiJkN2YxMWY0NTc5ODkyMzQzMjk5ZjZiZDRkODA1YmY4ZTk1MTI3NGVjYjMx ▶" "ipr_number" => "eyJpdiI6InBvN3pXVHc1R2MzWlFObGJcL0xJN1ZRPT0iLCJ2YWx1ZSI6Ijg3OWNoZ21ERlllWHMxODFDWCs2UkE9PSIsIm1hYyI6ImI5ODY4ZGRjYzE1ZmJiYjE5YjViMzYwMWNkNTUwOThhODFjNjExZTA1MTU4 ▶" "class" => "1|3" "ipr_type" => 1 "registration_date" => "12-04-2018" "renewal_date" => "04-04-2018" "ipr_owner" => "eyJpdiI6IldRclV4QjZwSWRTcitKb1U5dFJnYUE9PSIsInZhbHVlIjoiOTRab1BlVmxiR0VmRkxhVU81RWxPQT09IiwibWFjIjoiNzg3NDJlZDU0YmExZjhhOGVlZmJiNzlhODc5YmVjOGU1M2VkZTI1ZGFiNzc1 ▶" "customs_registration_date" => "01-01-1978" "customs_renewal_date" => "01-01-1978" "country_name" => "Albania" "cvfile" => "eyJpdiI6InE1eTR0SVg0XC9MY3RCTTFcL01VMDA1dz09IiwidmFsdWUiOiIxVVdOZ29YZnFSUUFUQ3BicnJuWWJnPT0iLCJtYWMiOiI2OTYwNzQwN2M0OWQyYzkxNDFlYTc5MDFlNzA4NDVmMzZkYWRmMTc1ZDJj ▶" "custom_cvfile" => "eyJpdiI6ImZsTzRZVG1PdjZwMllJOE9YVk1xSEE9PSIsInZhbHVlIjoiN0c5WVJmNzJiTmViSkpjWnJndUdmQT09IiwibWFjIjoiOTQwNzg2MTE0Mjg1ZWM4ZTc5ZTZkNzE3YzM2OWJiZTZmNmRhZmU1MDQ2ZDdk ▶" "is_name" => "eyJpdiI6IkV0aSt6UTFTUmMrMjdvbW8wdEhUZWc9PSIsInZhbHVlIjoiV3A2M1FMczJyVEZDWXdibzRpZ1lSRWVOcWZqdVVvQTB1cEFmN09tWVVXTT0iLCJtYWMiOiJhN2E2NDkxMWMyMWVjN2UzODJjMjljZDVh ▶" "ia_name" => "eyJpdiI6Ijg3eFRyWGhYZURXeldSS09jYXkxa3c9PSIsInZhbHVlIjoiZmhPeDRHd25mejRlc25xQXhEaFk5RFZ0OEtsZGNLbGpzZ2lpN0VCQWNMST0iLCJtYWMiOiI4MGU5MmRhZDMwMTdmZTYzMjdlN2RlNjA5 ▶" ]

应该将第一个数组元素添加到与第一个数组匹配的第二个数组($ key)示例1 =>数组和第二个数组“id”=> 1 shold看起来像

    array(
        "id" => 1
        "ipr_name" => "eyJpdiI6IitWVitYZmkxSVozcHJQUGpUQlBGXC9BPT0iLCJ2YWx1ZSI6IkVOeFwvaVplZlhPS2NlclVZRXRlNHdnPT0iLCJtYWMiOiJkN2YxMWY0NTc5ODkyMzQzMjk5ZjZiZDRkODA1YmY4ZTk1MTI3NGVjYjMx ▶"
        **"licence"=>"sdfs,sfd,ry,fh"**this should be added 
        etc...
    )

我怎样才能做到这一点

php arrays laravel
2个回答
0
投票

尝试调整代码中的这段代码,让我知道它是否能解决您的问题。

foreach($array_1 as $key_1 => $value_1){

    foreach($array_2 as $key_2 => $value_2){

        if($key_1 == $value_2['id']){

            $temp_array = array("licence" = > $_value_1);
            array_push($value_2, $temp_array);
        }

    }

}

0
投票

为第一个数组的键创建数组,如数组(1,2,3,4,5)和第二个数组键(1,2,3,4,5)。然后使用in_array进行匹配,如果in_array为true,则使用array_push将值发送到带有键的send数组

$temp = array("licence"=>values);
array_push($second_array,$temp );
© www.soinside.com 2019 - 2024. All rights reserved.