Giv*_*Pie 9 php arrays associative-array
我有3个数组,每个数组只有7个元素.数组是:
filename[]
title[]
description[]
我想表达并迭代上面数组中每个数据的单个关联数组.filename可以是assoc数组的键值,但每个文件名都有自己相应的标题和描述.
以下是一个示例:
var_dump($filename)
string(10) "IMG_1676_3" [1]=>
string(10) "IMG_0539_3" [2]=>
string(8) "IMG_1942" [3]=>
string(8) "IMG_1782" [4]=>
string(8) "IMG_2114" [5]=>
string(8) "IMG_9759" [6]=>
string(8) "IMG_2210" }
var_dump($title)
string(31) "Lighthouse at Ericeira Portugal" [1]=>
string(23) "Gaudi park in Barcelona" [2]=>
string(32) "Driving around outside of Lisbon" [3]=>
string(16) "Madeira Portugal" [4]=>
string(15) "Barcelona Spain" [5]=>
string(15) "Lisbon Portugal" [6]=>
string(14) "Sailing Lisbon" }
Run Code Online (Sandbox Code Playgroud)
function mergeArrays($filenames, $titles, $descriptions) {
$result = array();
foreach ( $filenames as $key=>$name ) {
$result[] = array( 'filename' => $name, 'title' => $titles[$key], 'descriptions' => $descriptions[ $key ] );
}
return $result;
}
Run Code Online (Sandbox Code Playgroud)
只需确保将有效输入传递给函数,或添加一些额外的检查.这就是你要找的东西吗?
小智 5
如果所有3个数组的数组键都相同,那么更好的方法就是使用相同的键创建一个包含所有键(文件名,标题,描述)的新数组:
<?php
foreach($filename as $key => $file)
{
$files[$key]['filename'] = $file;
$files[$key]['title'] = $title[$key];
$files[$key]['description'] = $description[$key];
}
?>
Run Code Online (Sandbox Code Playgroud)