我有一个如下所示的数组:
Array (
[0]=> 467:tv:59.99
[1]=> 387:radio:8.99
[2]=> 098:toaster:6.99
[3]=> 732:laptop:109.99)
我想创建一个关联数组(为每个值添加一个键)。每个值都用冒号分隔。例如,在索引0处,键和值对将是:
[0] =>
id => 467
product => tv
price => 59.99
我正在考虑使用for循环遍历数组并将每个索引拆分为冒号所在的较小块。另外,我会在这里使用list()函数吗?
我有点坚持如何开始这个过程,所以任何提示和建议都会受到赞赏。
答案 0 :(得分:1)
<?php
$arr = [
'467:tv:59.99',
'387:radio:8.99',
'098:toaster:6.99',
'732:laptop:109.99',
];
// for each element in $arr, run the function
$result = array_map(function($str) {
// separate $str to [id, product, price]
$values = explode(':', $str);
// map $values to an associative array
$entity = array_combine(['id', 'product', 'price'], $values);
return $entity;
}, $arr);
var_dump($result);
答案 1 :(得分:0)
让我们假设您的数组如下所示:
$array = array(
[0]=> 467:tv:59.99
[1]=> 387:radio:8.99
[2]=> 098:toaster:6.99
[3]=> 732:laptop:109.99
);
使用foreach()
,您可以遍历数组,使用explode()
可以将字符串拆分为数组,由分隔符字符串分隔(此处为:
$new_array = array();
foreach($array as $key => $value) {
$new_array[$key] = explode(":", $value);
}