【问题标题】:define array variable inside array在数组中定义数组变量
【发布时间】:2019-06-20 17:53:37
【问题描述】:

如何在没有键的数组内定义变量?这不起作用,我不知道如何......

$array = array("list" => array());

$list = $array["list"][] = array("sub_list" = array());
$list["sub_list"][] = "text1";
$list["sub_list"][] = "text2";
$list["sub_list"][] = "text2";

$list2 = $array["list"][] = array("sub_list" = array());
$list2["sub_list"][] = "text1";
$list2["sub_list"][] = "text2";
$list2["sub_list"][] = "text3";

需要的结果:

$array = array(
   "list" => array(
      array(
        "sub_list" = array("text1", "text2", "text3")
      ),
      array(
        "sub_list" = array("text1", "text2", "text3")
      )
    )
);

它不用于循环或for/foreach!

【问题讨论】:

  • 有什么理由不想使用第二种方法声明数组吗?
  • 有一个错字"sub_list" = array()应该是=>
  • @Dharman 我的错误,ofc 与 => 但同样的问题 - sub_list 总是空数组
  • 您的问题不清楚。请您重新表述一下这个问题吗?
  • @NigelRen 第二种方法?

标签: php arrays variables


【解决方案1】:
$array = [
    'list' => []
];

$list = [];
$list[] = 'text1';
$list[] = 'text2';
$list[] = 'text3';
$array['list'][]['sub_list'] = $list;

$array['list'][]['sub_list'] = $list;

$list = [];
$list[] = 'text4';
$list[] = 'text5';
$list[] = 'text6';
$array['list'][]['sub_list'] = $list;

你将拥有:

$array = array(
   "list" => array(
      array(
        "sub_list" => array("text1", "text2", "text3")
      ),
      array(
        "sub_list" => array("text1", "text2", "text3")
      ),
      array(
        "sub_list" => array("text4", "text5", "text6")
      )
    )
);

【讨论】:

  • 代码按我写的那样工作,但不可能在现有数组中添加一些东西,$array['list'][]["SOMETHING_NEXT"] 创建了新数组,请在下面显示我的请求...谢谢
  • 我不知道你的脚本是如何工作的,或者只需要处理你的问题。所以在创建新的列表数组时需要存储索引。然后,您可以使用索引添加类似$array['list'][0]['SOMETHING_NEXT'] 的内容,其深度与sub_list 相同
  • 我认为类似$var = $array['list'][] 但它可能是不可能的,好吧...索引$i++;$array['list'][ $i ]['SOMETHING_NEXT'] 如何识别密钥
【解决方案2】:
$array["list"][] = array("sub_list" => array());
$list= [];
$list[] = array("text1", "text2", "text3");
$list[] = array("text1", "text2", "text3");
$array["list"][]["sub_list"] = $list;

虽然它是数组里面的数组,而这个数组也在数组里面

我需要$array["list"][] 作为变量,当调用$array["list"][]["sub_list"] = $list; 时创建一个新数组,我需要将"sub_list" 添加到第一个数组

【讨论】:

    猜你喜欢
    • 2015-05-14
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多