Php 分解数组并删除前缀
我尝试使用explode为字符串创建数组 这是我的字符串:Php 分解数组并删除前缀,php,arrays,multidimensional-array,explode,Php,Arrays,Multidimensional Array,Explode,我尝试使用explode为字符串创建数组 这是我的字符串: $string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7"; 这是我的完整代码: $string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7"; $d = explode(',', $string); echo '<pre>'; var_dump($d); 如何创建这样的数组 $arr = array(); $d = explode(',', $string); for($d as
$string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7";
这是我的完整代码:
$string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7";
$d = explode(',', $string);
echo '<pre>';
var_dump($d);
如何创建这样的数组
$arr = array();
$d = explode(',', $string);
for($d as $item){
list($key,$value) = explode(':', $item);
$arr[$key] = $value;
}
这应该起作用:
<?php
foreach($d as $k => $v)
{
$d2 = explode(':',$v);
$array[$d2[0]] = $d2[1];
}
?>
这是一个使用循环的简单解决方案:
$string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7";
$pairs = explode(',', $string);
$items = array_map(
function($e){
return explode(':', $e);
},
$pairs
);
$a = array_reduce(
$items,
function(&$r, $e) {
$r[$e[0]] = $e[1];
return $r;
},
array()
);
var_export($a);
您还可以以更实用的方式(在PHP>=5.3中)执行此操作:
$array
必须首先初始化$array=array()
beforeachforeach
@Gtx-PHP处理此问题时没有错误,尽管我同意它应该是initialisedgot此错误解析错误:语法错误,意外的T_变量,应为“;”在C:\xampp\htdocs\colous\modul\barang\explode.php中联机19@Wawan猜我需要看一下你的实际代码,猜有一个缺少的代码>某个地方,或者一个杂散的支架。
<?php
foreach($d as $k => $v)
{
$d2 = explode(':',$v);
$array[$d2[0]] = $d2[1];
}
?>
$string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7";
$pairs = explode(',', $string);
$a = array();
foreach ($pairs as $pair) {
list($k,$v) = explode(':', $pair);
$a[$k] = $v;
}
var_export($a);
$string = "a:1,b:2,c:3,d:4,e:5,f:6,g:7";
$pairs = explode(',', $string);
$items = array_map(
function($e){
return explode(':', $e);
},
$pairs
);
$a = array_reduce(
$items,
function(&$r, $e) {
$r[$e[0]] = $e[1];
return $r;
},
array()
);
var_export($a);