のニーズを分析したい場合: 検索結果の関連性を高くします (キーワードの割合が大きい結果が最初にランク付けされます)。たとえば、「レッド」というキーワードで検索すると、アニメ「レッド」の方が「赤ずきん」よりもキーワード比率が高いため、上位に表示されます。したがって、PHP 配列の場合、内容はすべて文字列であるため、文字列の長さに応じて再度並べ替える必要があるという特別な要件が発生しました。 PHP が提供する配列関数は英語順でしかソートできないため、Google で検索したところ、PHP のカスタム ソート関数 usort を使用するという解決策が見つかりました。
<ol class="dp-xml"><li class="alt"><span><span>bool usort ( array & $array ,<br> callback $cmp_function ) </span></span></li></ol>
実際、PHP 配列を文字列の長さで並べ替える方法は、以前のコンピューター コースで学習したバブル ソート方法に似ています。1 つ目は並べ替える配列、2 つ目はコールバック関数です。並べ替えた状態です。 Usort は再帰と同等であり、並べ替えの目的を達成するために、条件の戻り値に基づいて 2 つの隣接する配列 ($a、$b など) を交換するかどうかを決定します。バブルソート法に基づく場合、この条件は $a > $b です。したがって、文字列の長さに基づく場合は、strlen($a)-$strlen($b) の形式になります。独自のコールバック関数を作成することで、あらゆる種類の奇妙な並べ替えを完了できます。すると、CoCo の現在のコードは次のようになります。
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">aS</span><span> = </span><span class="attribute-value">array</span><span>('aaa', 'aa', 'aaaa', 'aaaaa'); </span></span></li> <li> <span>$</span><span class="attribute">F</span><span> = </span><span class="attribute-value">create_function</span><span>('$a, $b', <br>'return(strLen($a) </span><span class="tag">></span><span> strLen($b))'); </span> </li> <li class="alt"><span>usort($aS, $F); </span></li> </ol>
上記で紹介した文字列の長さで PHP 配列をソートする実装方法を通じて、誰もがこのテクニックを完全にマスターできることを願っています。