我正在编写一个WordPress插件的脚本,该插件应该扩展插件。现在我正在优化我的脚本。但我的问题是处理数据......插件应用了数据。所以我无法改变任何事情。我必须处理它。
在这里,您可以看到数据库的片段。但是,我选择了product_shop_0/1/2/3
的数量相同的不同帖子,这是唯一的财富......它是可变的!
最后我希望有这样一个阵列:
array(92) {
[0]=> int(5) "24202"
array(4) {
["product_shops_0"]=>
array(4) {
["product_shops_0_price"]=> double(4) "35.99"
["product_shops_0_price_old"]=> double(0) ""
["product_shops_0_shop"]=> int(5) "18319"
["product_shops_0_link"]=> string(78) "http://www.kinguin...."
}
["product_shops_1"]=>
array(4) {
...
}
["product_shops_2"]=>
array(4) {
...
}
["product_shops_3"]=>
array(4) {
["product_shops_3_price"]=> double(4) "40.39"
["product_shops_3_price_old"]=> double(0) ""
["product_shops_3_shop"]=> int(5) "18315"
["product_shops_3_link"]=> string(78) "http://www.gameladen...."
}
}
我目前的问题是我不知道如何解决这个问题。 product_shops_0_price . **EVERY**
{POST_ID {1}} product_shops_0_price`。所以,它再次从0开始。这些数据属于一起:
has it's own
和meta_keys
拥有相同的`post_id`` meta_values
,product_shops_0
等等...... 有谁知道我怎么能像这样堆叠那个数组? 我已经尝试过,但我无法解决它......
我的尝试:
product_shops_1
对帮助非常高兴! 谢谢你和问候!
答案 0 :(得分:1)
试试这个,愿它可以帮到你:正则表达式测试click here
<?php
$stmt = $database->query("SELECT pm.post_id, pm.meta_key, pm.meta_value FROM fWR6qIN_postmeta pm GROUP BY pm.post_id, pm.meta_key");
$map = array();
while($row = $stmt->fetch_assoc())
{
preg_match('/^(product_shops_\d*)_(\S*)/', $row['meta_key'], $matches);
$product_offset = $matches[1];
$map[$row['post_id']][$product_offset][$row['meta_key']] = $row['meta_value'];
}