2014-01-22 91 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', 
      ) 
     **);** 
?> 

這就是解決!

感謝大家的貢獻。我們幾乎沒事的地方,但草皮律是一個微小的錯誤在這裏和那裏與'和;殺死死亡的東西。

再次感謝