亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 PHP 中查找數組中的元素

在 PHP 中查找數組中的元素

PHP
炎炎設計 2022-10-14 16:15:49
我不知道我是否以最好的方式管理這個數組。我擁有的數組是這樣的:$bass = $_POST['bass'];$selected_scale = $_POST['scale'];$major_scales = array     (    array("C","D","E","F","G","A","B","C","D","E","F","G","A","B",),    array("C#","D#","E#","F#","G#","A#","B#","C#","D#","E#","F#","G#","A#","B#",),    array("Db","Eb","F","Gb","Ab","Bb","C","Db","Eb","F","Gb","Ab","Bb","C",),    array("D","E","F#","G","A","B","C#","D","E","F#","G","A","B","C#"),    array("D#","E#","F##","G#","A#","B#","C##","D#","E#","F##","G#","A#","B#","C##"),    array("Eb","F","G","Ab","Bb","C","D","Eb","F","G","Ab","Bb","C","D"),    array("E","F#","G#","A","B","C#","D#","E","F#","G#","A","B","C#","D#"),    array("E#","F##","G##","A#","B#","C##","D##","E#","F##","G##","A#","B#","C##","D##"),    array("Fb","Gb","Ab","Bbb","Cb","Db","Eb","Fb","Gb","Ab","Bbb","Cb","Db","Eb"),    array("F","G","A","Bb","C","D","E","F","G","A","Bb","C","D","E"),    array("F#","G#","A#","B","C#","D#","E#","F#","G#","A#","B","C#","D#","E#"),    array("Gb","Ab","Bb","Cb","Db","Eb","F","Gb","Ab","Bb","Cb","Db","Eb","F"),    array("G","A","B","C","D","E","F#","G","A","B","C","D","E","F#"),    array("G#","A#","B#","C#","D#","E#","F##","G#","A#","B#","C#","D#","E#","F##"),    array("Ab","Bb","C","Db","Eb","F","G","Ab","Bb","C","Db","Eb","F","G"),    array("A","B","C#","D","E","F#","G#","A","B","C#","D","E","F#","G#"),    array("A#","B#","C##","D#","E#","F##","G##","A#","B#","C##","D#","E#","F##","G##"),    array("Bb","C","D","Eb","F","G","A","Bb","C","D","Eb","F","G","A"),    array("B","C#","D#","E","F#","G#","A#","B","C#","D#","E","F#","G#","A#"),    array("B#","C##","D##","E#","F##","G##","A##","B#","C##","D##","E#","F##","G##","A##"),    array("Cb","Db","Eb","Fb","Gb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Ab","Bb")    );$bass是一個字符串,就像數組中的那個。$selected_scale只是一個數字。我想要做的是$bass在其中一個數組中的$selected_scale. 基本上,$bass =  $major_scales[$selected_scale]. 因此,我想創建一個循環以獲取之后的元素。但我不知道在這種情況下如何管理這種情況。我在互聯網上查看了所有內容并嘗試了各種解決方案但沒有成功。我想知道我該怎么做。謝謝
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

嘗試使用下一個循環:


// if value exists in mentioned index

if (in_array($bass,$major_scales[$selected_scale])){

    // index of that value in that array

    $tmp_ind = array_search($bass,$major_scales[$selected_scale]);


    // length of the array

    $len = count($major_scales[$selected_scale]);


    // store values after this value

    $res = [];

    for ($i=$tmp_ind;$i<$len;$i++){

        $res[$i] = $major_scales[$selected_scale][$i];

    }

}

print_r($res);

演示1

如果您需要$selected_scale在這些數組之一中按索引查找值并在此位置之后存儲值:


foreach($major_scales as $ar){

    if ($ar[$selected_scale] == $bass){ 


        // length of the array

        $len = count($ar);


        // store values after this value

        $res = [];

        for ($i=$selected_scale;$i<$len;$i++){

            $res[$i] = $ar[$i];

        }

    }

print_r($res);

演示2


查看完整回答
反對 回復 2022-10-14
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號