動態變量我有我存儲可變位置的數據庫,例如,我有引線陣列,所以我有一個名爲在數據庫中的ID字段,具有$lead['@attributes']['Id']
位置。這一切都在數據庫中設置。PHP從陣列
我有被檢索從陣列我有值的問題。
我已經試過目前是這樣的:
foreach($t AS $lead) {
$newItem = [];
foreach ($this->crm->fields AS $field) {
$newItem[$field->name] = ${$field->location};
}
}
這不,雖然工作。它給了我一個錯誤說:
Undefined variable: $lead['@attributes']['Id']
,但如果我這樣做echo $lead['@attributes']['Id']; die();
,它把ID在頁面上。我究竟做錯了什麼?
TLDR;
我需要創建動態變量,我將其存儲在數據庫中以獲取數組中的信息。
Examples
這是我想從拉數組:
array(6) {
["@attributes"]=>
array(10) {
["Id"]=>
string(7) "1086984"
["LeadTitle"]=>
string(7) "1086984"
["CreateDate"]=>
string(19) "03/11/2015 02:00:00"
["ModifyDate"]=>
string(19) "04/13/2017 13:02:57"
["ActionCount"]=>
string(2) "13"
["LogCount"]=>
string(2) "13"
["ReminderCount"]=>
string(1) "1"
["ReadOnly"]=>
string(5) "false"
["Flagged"]=>
string(5) "false"
["LastDistributionDate"]=>
string(19) "01/01/0001 00:00:00"
}
}
我所擁有的數據庫中有以下內容:
ID | Name | Location
1 | ID | $lead['@attributes']['Id']
最後,該陣列我得到應該看起來如下:
array(10) {
["ID"]=>
string(7) "1086984"
}
EDIT 1
我正在從一個平臺,一個XML文件,通過捲曲。我服用的是XML文件,過simplexml_load_string()
運行它,然後json_encode()
和json_decode()
,讓我在最後的數組。
然後我也有一個數據庫,用字段名的列表,並在陣列中的位置,我從XML文件創建。然後,我循環訪問字段數據庫,並以更好的解析方式將XML文件保存到數據庫中。我每5分鐘更新一次信息。我不是生成XML文件的人,也不是以我必須的方式保存信息。我知道這可能不是最好的辦法,但它僅供內部使用,我公司以外的人甚至無法訪問我們正在製作的網站。
EDIT 2/UPDATE 1
我RAN到另一個路障。他們有一個名爲「字段」的項目,其中有一個字段數組。
的問題是,一切都在他們的 「屬性」。例如,他們是地址,電子郵件,名字,姓氏等。我將如何循環以獲取正確的數據?有任何想法嗎?
這個問題也與其他3個對象存在。操作和日誌,大量日誌...
這是一種可怕的方式來存儲數據,你應該改變類似於路徑'lead.attributes.id'或其他一些策略。唯一的辦法是你的方式是'eval(「\ $ newItem [{$ field-> name}] = {$ field-> location};」);' – AbraCadaver
AbraCadaver您會有什麼建議?這僅用於解析數據。我們使用的平臺爲我們提供了一個XML文件,並對其進行解析。爲了便於更新,我們希望使用MySQL數據庫使其全部動態,以便從我們生成的XML數組中獲取信息。我們解析它,然後將它保存到MySQL數據庫中的表中。 –
'未定義變量:$ lead ['@ attributes'] ['Id']'表示將它視爲字符串,而不是對象/數組。 Sooo ... @ AbraCadaver的eval建議,這樣做;) –