按特定键拆分关联数组

时间:2017-12-13 16:03:46

标签: php arrays

这似乎应该很容易,但我很难找到执行此功能的功能。

我有一个类似

的数组
Array
(
    [2338] => 181684562467
    [2550] => 181645662467
    [2658] => 182345645567
    [2878] => 171756765267
)

我需要手动指定密钥26582878

根据我输入的值将数组拆分为两个数组

Array
(
    [2338] => 181684562467
    [2550] => 181645662467
)

&安培;

Array
(
    [2658] => 182345645567
    [2878] => 171756765267
)

最有效的方法是什么?

以下是最初生成数组的方式(通过MySQL查询)

$itemidquery = "SELECT * FROM wp_postmeta WHERE meta_key = '_itemids';";

$result = mysqli_query($conn, $itemidquery);
$data_array = array();
while ($row = mysqli_fetch_assoc($result)) {
    $data_array[$row['post_id']] = $row['meta_value'];
}

1 个答案:

答案 0 :(得分:0)

<?php


$array=Array
(
    2338 => 181684562467,
    2550 => 181645662467,
    2658 => 182345645567,
    2878 => 171756765267
);
//you set the values of the array seperated with comma!!!
$name = $_GET["name"];
if($name!=''){

    //get the multiple values that are seperated by comma and create an array of them
$data=explode(',',$name);

    $myArray=array();
foreach($data as $row){
    //check if the key you insert exists in the array, if it does it inserts the value in the new array
    if(array_key_exists ($row,$array)){
        $myArray[]=$array[$row];
    }

}

//the output based on the keys you insert
print_r($myArray);
}

添加了评论以帮助您理解我的代码。我必须为你的例子创建一个静态数组。我正在使用GET方法来检索数据。

示例链接:

http://localhost/testing_project.php?name=2658,2338