2017-07-26 62 views
1

我有一些麻煩的數組(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" 
    } 
} 

回答

0

顯然,你的元數據_llms_wc_product_id本身是一個數組。因此,通過附加[0]從它那裏得到的第一個值:

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

非常感謝。你是對的,它是一個數組。我忘記了核心插件代碼有一些變化。現在我可以處理這個。 –

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) 
} 

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

大THX。

+0

從PHP 5.6開始,你也可以編寫'array_merge(... $ course_products);'。 – cars10m

+0

謝謝。外觀和工作很好。 –