包含整数字符串的数组

时间:2017-07-26 20:45:18

标签: php arrays wordpress type-conversion integer

我在使用如下所示的数组(php,wordpress)时遇到了一些麻烦:

array(2) {
  [0] => array(1) { [0]=> string(3) "416" }
  [1]=> array(1) { [0]=> string(4) "1591" }
}

如何将其转换为具有整数的数组? 问题是值也是数组而不是像这样的值:

array(2) {
      [0] =>  "416" ,
      [1]=> "1591" 
    }

我正在尝试使用get_post_meta()获取一些帖子的ID。

这只是我的一部分代码:

$course_product = array();
    foreach ($comment_ids as $comment_id) {
        $course_product[] = get_post_meta( intval($comment_id), '_llms_wc_product_id', true );
                    }

它给了我这个奇怪的数组:

array(2) {
  [0]=>
  array(1) {
    [0]=>
    string(3) "416"
  }
  [1]=>
  array(1) {
    [0]=>
    string(4) "1591"
  }
}

2 个答案:

答案 0 :(得分:0)

显然,您的元数据_llms_wc_product_id本身就是一个数组。因此,通过附加[0]来获取第一个值:

get_post_meta( intval($comment_id), '_llms_wc_product_id', true )[0]

答案 1 :(得分:0)

这个数组看起来像这样:

array(2) {
  [0]=>
  array(1) {
    [0]=>
    string(3) "416"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "1591"
    [1]=>
    string(3) "416"
  }
}

它可以更深入,我只需要价值观,所以我使用:

call_user_func_array('array_merge', $course_products);

将其展平,然后看起来像:

    array(3) { 
[0]=> int(416) 
[1]=> int(1591) 
[2]=> int(416) 
} 

然后我可以做我想做的事。

BIG THX。