私はPHPに不慣れで、ワードプレスのソースコードをよりよく理解しようとしています。旅行中に、次のコード行に出くわしました...
$lastc = $data[$length-1];
$ length-1の目的がデータ配列内にあることを誰かに教えてもらえますか?
配列がある場合:
$arr = array(1, 2, 3, 4, 5);
その$length
場合、count($arr)
は5になります。$ data [$ length-1]は最後の要素(4番目のインデックス)です。
ただし、これはひどく読むことに注意してください。そのため、開発者はおそらく次のことを行ったはずです。
$lastc = end($data);
これは、配列の最後の要素を返します。
文字列の場合は、次を使用する必要があります。
$lastc = substr($data, $length - 1);
文字列の最後の文字を返します。
この場合、このコードはその特定の文字列の最後の文字を取得することを目的としているように見えます。PHPでは、文字列を配列としてアドレス指定できます。
<?php
$str = "Hello world";
echo $str[6]; //outputs w;
?>
(PHPマニュアルも参照してください)。この場合、コードにはその特定の文字列の長さが格納されているように見え$length
ます$length-1
。インデックスは0から始まるため、最後の文字を取得するために必要なインデックスも同様です。
長さ3の配列には、メンバー0
とが1
あり2
ます。したがってarray[3]
、存在しませんが、array[3-1]
(別名array[2]
)は存在します。
ほとんどの場合、これは配列の最後の要素を取得する方法です。配列はゼロインデックスであるため、配列の最後の要素は長さより1つ短くなります。たとえば、配列$ fooに5つの要素がある場合、最後の要素は$foo[4]を介して参照できます。
$data[$length-1]
配列の最後の要素を取得する方法です。
これは基本的に、配列の最後の項目を参照する方法です。配列はゼロのインデックスで始まり、配列の長さは少なくとも1であるため(配列が空でない場合)、$ array [(count($ array)-1)]を使用すると最後の項目が得られます。
特定の配列で最後の要素が必要になることが多い場合は、array_reverseを使用して、$array[0]を呼び出すことができます。