将数组元素移动到另一个变量作为数组值的最佳方法是什么? 例如:
$car = 'bmw';
$model = array( '1' => array( 'color' => 'red' ,'model' => 'benz') , '2' =>array('color'=>'black',model'=> 'bmw') );
我想移动' 2' =>数组('颜色' =>'黑''型号' =>' bmw')在开始时取决于$汽车变量。
$model = array('2' =>array('color'=>'black','model'=> 'bmw'), '1' => array( 'color' => 'red' , 'model' => 'benz') );
答案 0 :(得分:0)
试试这个:
使用array_unshift()函数将任何索引移位到数组中的第一个
$car = 'bmw';
$model = array( '1' => 'benz' , '2' => 'bmw' , '3' => 'audi');
$key = array_search($car, $model);
if ($key > 0) {
unset($model[$key]);
array_unshift($model, $car);
}
答案 1 :(得分:0)
以下代码将执行此操作并保留原始密钥:
<?php
$car = 'bmw';
$models = array('1' => array('color' => 'red', 'model' => 'benz'), '2' => array('color' => 'black', 'model' => 'bmw'), '3' => array('color' => 'green', 'model' => 'audi'));
foreach (array_values($models) as $key => $model) {
if ($model['model'] == $car) {
$index = $key;
break;
}
}
$models = array_slice($models, $index, 1, true) + array_slice($models, 0, $index, true) + array_slice($models, $index + 1, count($models), true);
var_dump($models);