Как я могу изменить массив, как показано ниже: --->
$data = Array
(
[1] => Samsung GT-i9300 Galaxy S III 16GB
[4] => Samsung GT-i9100 Galaxy S II
)
к этому --->
$data = Array
(
[0] => Array
(
[name] => Samsung GT-N7100 Galaxy Note II 16GB
)
[1] => Array
(
[name] => Samsung GT-i9100 Galaxy S II
)
Если вам это нужно, вот оно:
$data = array
(
'Samsung GT-i9300 Galaxy S III 16GB',
'Samsung GT-i9100 Galaxy S II'
);
$new_arr=array();
foreach ($data as $val) {
$new_arr[]['name'] = $val;
}
print_r($new_arr);
Единственный способ, который я могу предложить, - это преобразовать массив:
$data = array
(
'1' => 'Samsung GT-i9300 Galaxy S III 16GB',
'4' => 'Samsung GT-i9100 Galaxy S II'
);
$newData = array();
foreach ($data as $key=>$val ) {
$newData[$key]['name'] =$val;
}
Итак, теперь вы проходите через $newData
и name
catch в качестве поля:
foreach ($newData as $obj ) {
echo $obj['name'];
}
Вы также можете использовать array_push, то есть:
$array = array("Samsung GT-i9300 Galaxy S III 16GB", "Samsung GT-i9100 Galaxy S II");
$newarray = array();
foreach($array as $model){
array_push($newarray, array('name' => $model) );
}
print_r($newarray);
ВЫВОД:
Array
(
[0] => Array
(
[name] => Samsung GT-i9300 Galaxy S III 16GB
)
[1] => Array
(
[name] => Samsung GT-i9100 Galaxy S II
)
)
DEMO:
$data = array(
1 => 'Samsung GT-i9300 Galaxy S III 16GB',
4 => 'Samsung GT-i9100 Galaxy S II'
);
$newData = array_map(function ($e) {
return array('name' => $e);
}, array_values($data));
var_dump($newData);