动态变量我有我存储可变位置的数据库,例如,我有引线阵列,所以我有一个名为在数据库中的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建议,这样做;) –