我一直在淘汰SO今天下午为我的用例可行的解决方案。我没有找到它。php - 减少多维数组以查询字符串
使用案例:将数组转换为格式,使得在PDO插入语句中,数组键是列,数组值是SQL值。如果这个请求重复其他人,我很抱歉。我没有找到一个适合我的人。在我的例子中,父数组是Array[0]
,它被插入到一个表中,Array[1]
是孩子。它们被迭代并插入另一个表中,其中fk_user_id
作为外键。
例插入: $sth = $dbh->prepare("INSERT INTO $table ($colData) VALUES ($valData)");
所以,列将(key1, key2)
和值将是(:value1, :value2)
等。我在所有多维性各种各样的问题和提取子节点,等等,等等
样品阵列:
[INFO] Array
(
[0] => Array
(
[last_visit] => 1389393273.19
[first_visit] => 1389313338.69
[this_visit] => 1389393265.75
[latitude] => 37.7858352661
[longitude] => -122.406417847
[opted_out] => 0
[opted_in] => 0
[user_id] => 1
[locale] => en
[device_maker] => unknown
[device_model] => Simulator
[os_platform] => iPhone OS
[os_version] => 7.0.3
[modified] => 1389393273.19
[model_type] => tracker
)
[1] => Array
(
[0] => Array
(
[view_count] => 1
[visit_timestamp] => 1389393265.63
[page_viewed] => home
[page_id] => 320
[fk_user_id] => 1
[model_type] => page
)
[1] => Array
(
[view_count] => 2
[visit_timestamp] => 1389393265.64
[page_viewed] => contactView
[page_id] => 321
[fk_user_id] => 1
[model_type] => page
)
)
)
解决方案我已经试过 Remove parent - keep children, Remove key from associative array, Iterating over an array, Flatten array等。我可能在代码中如此之深以至于我失去了对数据的看法。由于我使用PHP工作了很长时间,所以我的技能需要刷新。非常感谢您的帮助。
有最多两个维度或者是孩子的无限量可能吗? – thpl
你有没有考虑过json_encode?它不像它可能的那么紧凑,但可以满足你的目的。 –