我正在尝试将键名添加到爆炸的多维数组中
我有这个:
$datos = $_POST['dataGeneral'];
// Detecting "<" delimiter and PHP_EOL:
/*
1<1<Titulo Episodio<Descripción Episodio<http://www.google.com
1<2<Titulo Episodio 2<Descripción Episodio 2<http://www.google.com
*/
$data = explode(PHP_EOL, $datos);
$num = 0;
foreach($data as &$val){
$exp = explode("<", $val);
$val = array_combine(range($num, $num+sizeof($exp)-1), $exp);
$num += sizeof($exp);
}
echo '<pre>CheckDelimiter:<br/>';
print_r($data);
echo '</pre>';
结果:
这个工作正常,但我想为这个数组元素添加键:
这就是我的说法:
Array
(
[post-1] => Array
(
[temporada] => 1
[episodio] => 1
[titulo] => Titulo Episodio
[descripcion] => Descripción Episodio
[link] => http://www.google.com
)
[post-2] => Array
(
[temporada] => 1
[episodio] => 2
[titulo] => Titulo Episodio 2
[descripcion] => Descripción Episodio
[link] => http://www.google.com
)
)
你能帮我吗?
答案 0 :(得分:2)
由于您已经拥有所需数组值的基本设置,因此请再次使用array_combine
。
这次使用您想要的关联键:
$new_data = array();
foreach($data as $k => $val){
$exp = explode("<", $val);
// $val = array_combine(range($num, $num+sizeof($exp)-1), $exp);
// instead of using numeric like above
$val = array_combine(array('temporada', 'episodio', 'titulo', 'descripcion', 'link'), $exp);
$new_data['post-' . ($k + 1)] = $val;
}