在序列化数组中创建数组键数组。

时间:2014-04-13 15:23:38

标签: php arrays wordpress

我正在查询WP DB以获得以下内容:

用户标识 COLLECTION_NAME collection_data(序列化数组)

我运行以下foreach循环:

foreach($result as $row){
$row->collection_name;
$cleandata = unserialize($row->collection_data);

$ cleandata的print_r给了我以下数组:

Array
(
[7] => Array
    (
        [ExerciseID] => 7
        [Description] => Description?!
        [Sets] => 12
        [Reps] => 12
        [Load] => 12
        [Rest] => 12
        [Tempo] => 12
    )

)

由此我需要创建一个ExerciseID数组,以便将它们放入以下WP_query中。

$the_query = new WP_Query(array('post__in' => $ids, 'post_type' => 'exercise','posts_per_page' =>'4000')); ?>

我已经尝试在foreach $result as $row中运行另一个foreach但是我对此非常困惑。

非常感谢提前。

2 个答案:

答案 0 :(得分:2)

如果您没有PHP> = 5.5,那么就不能使用array_column(),那么请使用

$result = array_map(
    function($value) { 
        return $value['ExerciseID'];
    },
    $cleanData
);

答案 1 :(得分:1)

试试这个 -

$ids = array();
foreach($result as $row)
{
  $row->collection_name;
  $cleandata = unserialize($row->collection_data);

  foreach($cleandata as $data)
  {
      $ids[] = $data['ExerciseID'];
  }
}