web-dev-qa-db-ja.com

配列の最初と最後の要素を取得します

ちょっと私はこの配列を持っています:

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")要素をフィルターする方法が必要です。あいさつ

35
user2999787

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)

[〜#〜] demo [〜#〜]


[〜#〜] 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
107
h2ooooooo

角括弧構文を使用して、常に配列要素にアクセスできます。したがって、最初に取得するには_0_を使用します。配列にはゼロベースのインデックスが付けられ、count($arr) - 1が最後のアイテムを取得するためです。

_$firstEle = $arr[0];
$lastEle = $arr[count($arr) - 1];
_
10
yckart

reset() を使用して最初のものを取得できます。

_$firstEle = reset($arr);
_

reset()は、配列の内部ポインターを最初の要素に巻き戻し、最初の配列要素の値を返します。

そして、 end() 最後を取得する:

_$lastEle = end($arr);
_

end()は、配列の内部ポインターを最後の要素に進め、その値を返します。

1
Kermit

PHP 7.3、 array_key_first および array_key_last が利用可能

$first = $array[array_key_first($array)];    
$last = $array[array_key_last($array)];
1

配列値と配列キーを使用して目標を達成することもできます

例:配列値

<?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)];       
?>
0
Bachcha Singh

最初の要素の場合: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
0
Gufran Hasan