現在、Objective-C に移植している PHP の一部があります。私がそれが何をするのか理解できない機能が1つありますが。具体的には、$hash2 変数の末尾にある角かっこ [ ] です。$hash2 は sha256 変数で、$i == 64 です。
$hash2[$i];
現在、Objective-C に移植している PHP の一部があります。私がそれが何をするのか理解できない機能が1つありますが。具体的には、$hash2 変数の末尾にある角かっこ [ ] です。$hash2 は sha256 変数で、$i == 64 です。
$hash2[$i];
PHP では、文字列値に配列インデックスを使用できるため、 $string[64] は 65 番目の文字を取得します (ゼロ ベースです)。
私の知る限り、インデックスに基づいて配列から値を取得します。疑似phpで:
$arr = array("example" => 1,
"other" => 2,
3 => 3);
$arr["example"] == 1; // true
$arr[3] == 3; // true
文字列は単なる文字配列であるため、文字列に対してこれを操作すると、そのインデックスの文字が取得されます。
$string = "This is a sample";
echo $string[3]; // Prints "s".
そのオフセットで配列の値にアクセスします。擬似コード:
array hash2;
hash2.get(i)
これは、次の PHP と同等です。
<?php
$hash2 = [];
echo $hash2[$i]
?>
配列ではなく文字列の場合、その文字列内の *i* 番目の文字にアクセスします。これは、文字列が内部的に文字配列であるためです (C から知っているもの)。
<?php
$str = "Stackoverflow";
echo $str[2]; // t
?>
つまり、変数は配列と見なされます。括弧でインデックス値を定義できます。
詳細については、php マニュアルを参照してください。
一方、変数が実際に文字列の場合、その文字列の n 番目の文字にアクセスします。