PHP 更改具有相同索引名称的数组格式


PHP Change Array format with same index name

希望大家一切顺利。

实际上我有一个如下所示的数组。

[and] 
    => 
        Array 
            (
                [0] => Array ( [Model.qualifications LIKE ] => %"1":"1"% ) 
                [3] => Array ( [Model.qualifications LIKE ] => %"4":"1"% ) 
                [6] => Array ( [Model.qualifications LIKE ] => %"7":"1"% ) 
            ) 

上面的数组,我需要像下面一样更改。

[and] 
    => array(
     [Model.qualifications LIKE ] => %"1":"1"%, 
     [Model.qualifications LIKE ] => %"4":"1"%, 
     [Model.qualifications LIKE ] => %"7":"1"%  
     )

谁能告诉我该怎么做。

任何帮助将不胜感激。

谢谢

不能使用相同的键值映射数组。相反,如果您的密钥保持不变,您可以拥有如下所示的内容:

[and] 
    => array(
             [Model.qualifications LIKE ] => array(
                                           [0] => %"1":"1"%
                                           [1] => %"4":"1"%
                                           [2] => %"7":"1"%
                                     )
            )

如果数组中的所有值都不同,则可以将值作为键和键作为值,并且可以迭代为,

foreach($array as $key => $val){
}

然后根据需要使用键和值。

原因:您的数组键相同。你可以这样做。

<?php 
$arr = array("and" => array (
            0 => array ("Model.qualifications LIKE" => '%"1":"1"%' ), 
            3 => array ("Model.qualifications LIKE" => '%"4":"1"%' ), 
            6 => array ("Model.qualifications LIKE" => '%"7":"1"%' ), 
            ));
$newarr = array();
foreach ($arr["and"] as $key1 => $value1) {
    $newarr[$value1[key($value1)]] = key($value1);
}
echo "Before : <pre>".print_r($arr,1)."</pre></br>";
echo "After : <pre>".print_r($newarr,1)."</pre>";
?>

输出:

以前:

Array
(
    [and] => Array
        (
            [0] => Array
                (
                    [Model.qualifications LIKE] => %"1":"1"%
                )
            [3] => Array
                (
                    [Model.qualifications LIKE] => %"4":"1"%
                )
            [6] => Array
                (
                    [Model.qualifications LIKE] => %"7":"1"%
                )
        )
)

After :
Array
(
    [%"1":"1"%] => Model.qualifications LIKE
    [%"4":"1"%] => Model.qualifications LIKE
    [%"7":"1"%] => Model.qualifications LIKE
)