LoginSignup
0
0

More than 5 years have passed since last update.

PHPで配列の末尾からひとつ前の要素を取り出す

Last updated at Posted at 2015-10-27

リストや配列の後ろから二番目の要素を取り出すとき、Python1やPerl2だとlist[-2]といった形で指定できますが、PHPだとどうするのだろうと調べたメモ。

結果として、Qiitaに既に良記事があったため解決しました。

おわりです。

試行錯誤

ここは自分で無い知恵絞っていたときの形跡を記録しておきます。


<?php
error_reporting(-1);

$a = range('a', 'z');

// 連想配列でなければ、添字にcount()の結果を使えば良さそう。
if (isset($a)) {
    $c = count($a);
    if ($c >= 2) {
        // インデックス配列であること
        if (array_values($a) === $a) {
            print $a[ $c - 2 ].PHP_EOL;
            //#=> y
        }
    }
}

<?php

error_reporting(-1);

$a = array(
  'ド' => 'ドーナッツ',
  'レ' => 'レモン',
  'ミ' => 'みんな',
  'ファ' => 'ファイト',
  'ソ' => 'あおいそら',
);

// ポインタ移動させていいならendしてprevが連想配列でも動くから良さそう。
if (isset($a)) {
    if (count($a) >= 2) {
        end($a);
        print prev($a).PHP_EOL;
        //#=> ファイト
    }
}

「末尾からふたつ前の要素」って言われたらもう一回prevする。

参考や注釈

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0