2014-01-22 93 views
0

我一直在寻找一个简单的答案,但它不存在,或者我不知道如何提出正确的问题,以获得正确的答案。使用PHP将数组添加到多维数组中

这里是了解问题很简单: 我有一个大的多维数组,如下所示::

$dataFile = array (
      array(
       array(
       data => 'infohere_01', 
       ) 
      ), 
      array(
       data => 'infohere_02', 
       ) 
      ), 

等等等等说高达infohere_125和超越......

我想要分开创建一个简单的管理.php文件的单个数组 - 使用愚蠢的逻辑,即KISS,我认为这会做到这一点。通过使用包括,然后通过所有的独立.PHP片段加紧作出更大阵列...

<?php 
     $dataFile = array (
         include '/datafile_01.php'; 
         include '/datafile_02.php'; 
         ); 
    ?> 

等等等等,包括达到和超过“/datafile_125.php”;

每个都包含'/datafile_01.php'; 是刚刚::

<?php 
    array(
     array(
      data => 'infohere_01', 
      ) 
     ), 
?> 

不是最优雅的方式来做到这一点 - 因为它不工作...

我无法找到一个简单的解决方案。我发现复杂的解决方案不适用于简单的需求。

+0

它不能这样工作,你不能在数组定义中使用'include'。您可以在包含之前定义一个空数组,然后在每个包含文件中向数组附加一个值 - 但要做到这一点,您必须在每个包含文件中使用相同的变量名称。 – CBroe

+0

@techouse谢谢你的贡献。 –

+0

欣赏包括不在阵列中工作 - 双重检查它的情况下,但服务器返回错误报告:: 语法错误,意想不到的';',期待')'在/ home/ja .. Still寻找一个简单可行的解决方案。 – madesignUK

回答

0

包括数据文件应包含:

<?php 
return array(
     array(
      data => 'infohere_01', 
      ) 
     ); 
+0

谢谢 - 将尝试这一点,并提供结果前馈。我很接近,但不足以让它工作:-( – madesignUK

+0

反馈:: 很抱歉,但此解决方案不起作用,正如前面指出的那样不在数组里面工作......你得到的是: 语法错误,意想不到的';',期望')'在/ home/ja – madesignUK

+0

注意::使用);而不是),这是MISTAKE,使这个数组不工作 - 因此,为什么我得到/数据返回? 这里是正确的2D版本代码:: 'infohere_01', ) ); ?> – madesignUK

0

如果你可以有内部的每个的一些变量声明包括“/datafile_01.php”:

<?php 
    $foo = array(
     array(
      data => 'infohere_01', 
      ) 
     ), 
?> 

然后你就可以合并所有包含这样的东西的文件,从而构建您的大阵列:

<?php 
    $dataFile = array(); 

    foreach($includeFiles as $file) 
    { 
    include($file); 
    $dataFile[] = $foo; 
    } 
?> 
+0

谢谢 - 将尝试这一点,并提供结果前馈。 – madesignUK

+0

只是试图用你的例子... $ foo是在哪里? $ includefiles是从哪里来的? $ x ?? 尝试了几种方法 - 没有结果,除非我得到/数据作为结果。 仍在寻找帮助 – madesignUK

+0

对不起,我刚更新了答案,$ x应该是$ foo。 – rrr

0

好吧,现在用KISS对它进行排序 保持它的简单!你可以找到一个解决方案--3D阵列的复杂性,导致复杂性本身,但在2d/3d编码之间使用)和/或)之间的额外错误;发生了一系列错误。

2条评论都提出了解决问题的指示,使用RETURN和循环来包含包含,但真正的宝石来自进一步的研究。 我的报价:

感谢您的帮助大家。我找到了答案,而且我觉得很可笑:添加到3D数组就像添加到常规数组一样简单!

$ users [] = $ newuser;

这是血腥的!令人惊叹的,是吧?如果$ users是一个3D数组,并且$ newuser 是一个数组,它就会像我需要的那样将它添加到3D数组中。 当其他所有失败时,尝试你能想到的最简单的事情!哦,对 5-6小时我花了研究这个

回答了一些问题,我需要后来照顾,我 学到了很多,而在它。

来源: [http://www.v7n.com/forums/coding-forum/49651-php-appending-multidimensional-arrays.html][1]

行,所以你有什么我创建了::

简单的二维数组为每个文件 然后通过添加到一个3d数组创建如下!

$shop = array(); 

    $shop[] = include 'Catalogue_ARRAYS/Fire-and-Rescue-Tools_2009.php'; 
    $shop[] = include 'Catalogue_ARRAYS/Insulated-Digging-Tools_2013.php'; 

简单真 - 典型KISS

二维阵列/ Include.php文件被构造如下,使用RETURN阵列(而不是$富=阵列(:: 注::使用);而不是),这是错误!

<?php 
    return array(
      array(
      data => 'infohere_01', 
      ) 
     **);** 
?> 

这就是解决!

感谢大家的贡献。我们几乎没事的地方,但草皮律是一个微小的错误在这里和那里与'和;杀死死亡的东西。

再次感谢