ちょっと私はこの配列を持っています:
array(1) {
["dump"]=>
string(38) "["24.0",24.1,24.2,24.3,24.4,24.5,24.6]"
}
私の質問:
この配列から最初と最後の要素を取得する方法なので、私は持っています:
$firstEle = "24.0";
そして
$lastEle = "24.6";
配列からそれらの要素を取得する方法を知っている人はいますか?
私はすでにこれを試しました:
$arr = json_decode($_POST["dump"], true);
$col0 = $arr[0];
$col1 = $arr[1];
$col2 = $arr[2];
$col3 = $arr[3];
$col4 = $arr[4];
$col5 = $arr[5];
$col6 = $arr[6];
$ col0と$ col6を選択できましたが、配列はもっと長くなる可能性があるため、first( "24.0")およびlast( "24.6")要素をフィルターする方法が必要です。あいさつ
reset()
および end()
はまさにこれを行います。
マニュアルから:
reset()
:最初の配列要素の値を返します。配列が空の場合はFALSEを返します。
end()
:最後の要素の値、または空の配列の場合はFALSEを返します。
例:
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$first = reset($array);
$last = end($array);
var_dump($first, $last);
?>
どの出力:
フロート(24)
float(24.6)
[〜#〜] note [〜#〜]: current()
を使用すると、配列ポインターの意味がリセットされます 現在の要素を取得するか、配列の中央にシークしました reset()
および end()
は、配列ポインター(先頭と末尾):
<?php
$array = array(30.0, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 12.0);
// reset — Set the internal pointer of an array to its first element
$first = reset($array);
var_dump($first); // float(30)
var_dump(current($array)); // float(30)
// end — Set the internal pointer of an array to its last element
$last = end($array);
var_dump($last); // float(12)
var_dump(current($array)); // float(12) - this is no longer 30 - now it's 12
角括弧構文を使用して、常に配列要素にアクセスできます。したがって、最初に取得するには_0
_を使用します。配列にはゼロベースのインデックスが付けられ、count($arr) - 1
が最後のアイテムを取得するためです。
_$firstEle = $arr[0];
$lastEle = $arr[count($arr) - 1];
_
PHP 7.3、 array_key_first および array_key_last が利用可能
$first = $array[array_key_first($array)];
$last = $array[array_key_last($array)];
配列値と配列キーを使用して目標を達成することもできます
例:配列値
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$array_values = array_values($array);
// get the first item in the array
print array_shift($array_values);
// get the last item in the array
print array_pop($array_values);
?>
例:配列キー
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$array_keys = array_keys($array);
// get the first item in the array
print $array[array_shift($array_keys)];
// get the last item in the array
print $array[array_pop($array_keys)];
?>
最初の要素の場合:current($arrayname);
最後の要素の場合:end($arrayname);
current():current()関数は、配列内の現在の要素の値を返します。すべての配列には、その「現在の」要素への内部ポインターがあり、配列に挿入された最初の要素に初期化されます。
end():end()関数は、配列内の最後の要素に内部ポインターを移動し、出力します。関連メソッド:current()-配列内の現在の要素の値を返します
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$first = current($array);
$last = end($array);
echo 'First Element: '.$first.' :: Last Element:'.$last;
出力結果:
First Element: 24 :: Last Element:24.6