首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >返回嵌套的数组键名称而不是索引

返回嵌套的数组键名称而不是索引
EN

Stack Overflow用户
提问于 2018-06-03 13:55:18
回答 2查看 386关注 0票数 -1

我试图通过循环数组来返回名称和值,为此我使用了array_walk_recursive函数。除了返回嵌套的数组索引而不是名称之外,一切都很正常。在下面的示例中,我希望索引是'name3‘,但由于主数组是动态的,循环不能特定于该嵌套数组。

数组

代码语言:javascript
复制
   Array
(
    [name1] => value
    [name2] => value
    [name3] => Array
        (
            [0] => value1
            [1] => value2
        )

)

函数

代码语言:javascript
复制
function test($value, $name) {
   echo "<input type='hidden' name='$name' value='$value'>";
}
array_walk_recursive($array, 'test');

输出

代码语言:javascript
复制
<input type='hidden' name='name1' value='value'>
<input type='hidden' name='name2' value='value'>
<input type='hidden' name='0' value='value1'>
<input type='hidden' name='1' value='value2'>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 08:44:41

这比我想象的要简单,为此需要一个嵌套的foreach。

代码语言:javascript
复制
foreach ($array as $name => $value) {
  if (is_array($value)) {
    foreach ($value as $name2 => $value2) { 
      echo '<input type="hidden" name="'.$name."[]".'" 
         value="'.$value2.'">';
    } 
  } else {
      echo '<input type="hidden" name="'.$name.'" value="'.$value.'">';
  }
}
票数 0
EN

Stack Overflow用户

发布于 2018-06-03 14:30:37

试着这样做

代码语言:javascript
复制
foreach ($array as $name => $value) {
    if(is_array($value))
    {
        // convert it to string by the way you want
    }
    echo "<input type='hidden' name='$name' value='$value'>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50663676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档