2017-08-26 8 views
0

我似乎無法弄清楚這一點。我如何將foreach結果存儲在變量中?這是我的代碼。如何將foreach結果存儲在一個變量中並將其用於數組中

$ids = get_field('auction_catalog'); 

if($ids) { 
    foreach($ids as $id => $auctionids) { 
     $string .= $auctionids . ', '; 
    } 

    echo $string; 
} 

上面的結果是:1,2,

但結果我想要得到的是:'1', '2'

我想使用的結果這樣一個數組...

array(
    'taxonomy'=> 'auction-catalog', 
    'field' => 'term_id', 
    'terms' => array($string) // array('1', '2') 
) 

提前致謝!

回答

0

您當前將其分配爲單個字符串,而不是數組的元素。這意味着您在字符串1, 2,中獲得了一個元素。你可以用explode()這個字符串將其轉換爲數組中的元素,但是從頭開始使用數組會更容易。

如果你想要得到的陣列是從$auctionids元素的數組,只需將它們添加到您提供給最後一個數組的數組,這樣

$ids = get_field('auction_catalog'); 
$terms = array(); // Define the array 

if($ids) { 
    foreach($ids as $id => $auctionids) { 
     $terms[] = $auctionids; 
    } 
} 

$term現在是一個數組,你可以在其他陣列中直接投放,這樣

array(
    'taxonomy'=> 'auction-catalog', 
    'field' => 'term_id', 
    'terms' => $terms 
) 
+0

非常感謝!有效! –

0

$string = "1, 2"; 
$array = array($string); 

會給你一個數組,其中包含一個元素1, 2。如果你想要一個數組,創建數組:

if($ids) { 
    $idsArray = []; 
    foreach($ids as $id => $auctionids) { 
     $idsArray[] = $auctionids; 
    } 
} 

現在$idsArray與您的所有$auctionids爲元素的數組。現在你可以在terms使用它:

array(
    'taxonomy'=> 'auction-catalog', 
    'field' => 'term_id', 
    'terms' => $idsArray 
) 
+0

非常感謝你! –

相關問題