希望大家一切顺利。
实际上我有一个如下所示的数组。
[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
)