簡體   English   中英

根據另一個數組對數組進行排序

[英]Sort array based on another array

我想根據第一個數組($ field ['choices'])對第二個數組($ array2)進行排序

$field_name = "field_52f8fcdd21cb6";
$field = get_field_object($field_name);

foreach( $field['choices'] as $k=>$v) {
    echo $k."==".$v."<br>";
}

上面的代碼給了我以下輸出

Gyana Yagna==Gyana Yagna
Festival==Festival
Retreat==Retreat
Performance==Performance
Swaranjali==Swaranjali

現在第二個數組開始

echo "<br><br><br>";
$array2 = array("Gyana Yagna","Gyana Yagna","Gyana Yagna","Retreat","Festival","Festival");

foreach( $array2 as $k=>$v)
{
    if(in_array($v,$field['choices']))
    {
        echo $array2[$k]."<br>";
    }
    else
    {
        echo $array2[$k+1]."<br>";
    }
}

所需的輸出應為

Gyana Yagna
Gyana Yagna
Gyana Yagna
Festival
Festival
Retreat

而我得到以下輸出

Gyana Yagna
Gyana Yagna
Gyana Yagna
Retreat
Festival
Festival

非常感謝您的幫助。 提前致謝。

這是基於我的評論的解決方案:

$field['choices']= array('Gyana Yagna', 'Festival', 'Retreat');


echo "<br><br><br>";
$array2 = array("Gyana Yagna","Gyana Yagna","Gyana Yagna","Retreat","Festival","Festival");

foreach( $field['choices'] as $k=>$v)
{
foreach($array2 as $k2=>$v2){
    if($v==$v2)
      {
          echo $array2[$k2]."<br>";
      }
}

}

輸出與您所需的輸出相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM