PHPについて私(そして他のすべての人)をいつも悩ませていることの1つは、関数の命名とパラメーターの不一致です。もう1つの最近の煩わしさは、値ではなく参照によって関数パラメーターを要求する傾向です。
PHPのマニュアルをざっと見てみるsort()
と、例として関数が見つかりました。その関数を実装している場合は、値ごとに配列を取得し、それを新しい配列に並べ替えて、新しい値を返します。PHPではsort()
、ブール値を返し、既存の配列を変更します。
呼び方sort()
:
$array = array('c','a','b');
$sorted_array = sort($array);
PHPが私に電話をかけてほしい方法sort()
:
$array = array('c','a','b');
sort($array);
$sorted_array = $array;
さらに、以下は致命的なエラーをスローします。Fatal error: Only variables can be passed by reference
sort(array('c','a','b');
これの一部はPHPの昔の遺産かもしれないと思いますが、このように行われたのには理由があったに違いありません。PHP 5+のように参照IDでオブジェクトを渡すことで値を確認できますが(文字列、配列、整数などの場合はわかりません)、参照渡しと値渡しの中間にあると思います。
私はコンピュータサイエンスの専門家ではないので、おそらくあなたが収集できるように、私はこれらの概念のいくつかをまだ把握しようとしています、そして私は物事がこのように設定されている理由があるかどうかについて興味がありますか?それがただの残り物であるかどうか。