JavaScriptは参照渡ししかないそうですが、PHP(にかぎらず最近の言語は)関数/メソッドに引数を渡すだけでは値がコピーされません(Copy on Write)

…だとすると、PHPのasort関数やshulle関数の第一引数が「参照渡し」だとして、array_reverse関数の第一引数を「値渡し」と表現するのは果たして正しいのでしょうか。

厳密に言えば、いささか不適切なのではないかとふと思いました(あ、これはただの、ぼやきです)

【参考】

asort関数
https://www.php.net/manual/ja/function.asort.php

//説明
shuffle ( array &$array ) : bool

shuffle関数
https://www.php.net/manual/ja/function.shuffle.php

//説明
asort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

array_reverse関数
https://www.php.net/manual/ja/function.array-reverse.php

//説明
array_reverse ( array $array [, bool $preserve_keys = FALSE ] ) : array

※同じ配列を操作する関数でも使い方が異なるのですね。改めて並べてみて、なぜ違うのか?と問われると正確に答えるのは難しい(苦笑)


まあ、それはさておき、PHPは手軽でお仕事が多い言語です。

ぜひ、一緒にPHPプログラミングを通して、コンピュータの仕組みを学びましょう。