php - 根据数组输出创建数组
问题描述
我正在尝试创建一个数组但没有运气。
当我转储我的数组时,我从结果中得到,看起来不错。我需要为下一次处理创建一个新数组。
array(1) { [0]=> array(3) {
["name"]=> string(37) "America , United States , City"
["link"]=> string(48) "https://www.test.com"
["icon"]=> string(50) " "
}
}
基于上面的数组我需要创建数组
[0]
["name"]=>"America",
[link]=>"https://www.test.com",
["icon"]=> string(50) " "
[1]
["name"]=>"United States",
[link]=>"https://www.test.com",
["icon"]=> string(50) " "
[2]
["name"]=>"City",
[link]=>"https://www.test.com",
["icon"]=> string(50) " "
基本上,在分隔符之后","
,它定义了数组将有多少个索引。在这种情况下,我们有 3 个,但例如,我们只能有["name"]=>"America"
,它将只有 1 个索引。
感谢任何形式的帮助。
解决方案
您可以展开第一个索引,然后执行循环以创建结果数组:
$names = explode(",",$data[0]['name']); // <-- all names in an array
$res = [];
foreach($names as $name){
$tmp = [
"name" => trim($name),
"link" => $data[0]['link'],
"icon" => $data[0]['icon'],
];
$res[] = $tmp;
}
print_r($res);
推荐阅读
- python - Shell 命令仅在手动执行而不是从 Python 文件中执行时才有效
- python - 如何使用 vec_env 或 SubProcVecEnv 并行运行多个健身房?
- java - 制作一个将在Android中使用的Java库,一个类实现Parcelable接口
- flutter - 有没有更好的方法来不断重建一个小部件?
- javascript - 为什么“this”不等于调用函数的对象?
- c++ - 使用多个sampler2D一次使用一个发送多个纹理?
- html - CSS 弹性盒 | 修复 Flex 列高度之间的空间
- file - 无法在 codeigniter 中显示文件验证错误消息
- python - 从 axios 传输到 django 的文件大小发生变化
- java - 仅显示数组中的唯一项