[英]how to get all keys of this multidimensional array
我有類似的問題,在這里:已解決問題
但是我想得到這樣的數組作為該演示數組in 1的最終結果。
非常感謝!
我想得到的返回數組:
[0] => "0.name "
[1] => "0.id "
[2] => "0.phone "
[3] => "0.Base.city "
[4] => "0.EBase.city "
[5] => "0.Qty "
[6] => "1.name "
[7] => "1.id "
[8] => "1.phone "
[9] => "1.Base.city "
[10]=> "1.EBase.city "
[11]=> "1.Qty "
我已經試過了:但是不起作用:
function array_flat(array $myarr)
{
$myline = "";
foreach ($myarr as $key => $value)
{
if ( $myline == "" ){$myline=sprintf("%s",$myarr[$key]);}
else {$myline=sprintf("%s%s",$myline,$myarr[$key]);}
}
return array($myline);
}
function array_keys_multi(array $array)
{
$keys = array();
foreach ($array as $key => $value) {
$keys[] = $key;
if (is_array($value)) {
$keys = array_merge($keys, array_keys_multi($value));
}
else {
$keys = array_flat($keys);
}
}
return $keys;
}
而且我發現了這一點:也許可以幫助解決我的請求: 獲取數組的所有路徑
是的,此鏈接符合我的要求: 解決方案
function getKeyPaths(array $tree, $glue = '_')
{
$paths = array();
foreach ($tree as $key => &$mixed) {
if (is_array($mixed)) {
$results = getKeyPaths($mixed, $glue);
foreach ($results as $k => &$v) {
$paths[$key . $glue . $k] = $v;
}
unset($results);
} else {
$paths[$key] = $mixed;
}
}
return $paths;
}
通過以下方式調用:
print_r(getKeyPaths($jsonquotesum));
使用array_key()。 您將獲得所有密鑰。 doc在這里:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.