勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPで配列を値で検索、破棄

      2014/05/22

PHPの配列で特定の値が入っていれば
それを破棄したいということがあった。

・unset()
http://php.net/manual/ja/function.unset.php
※指定した変数の割当を解除する

・array_search()
http://php.net/manual/ja/function.array-search.php
※指定した値を配列で検索し、見つかった場合に対応するキーを返す

■サンプル
$array = array(0=>'aaa', 1=>'bbb', 2=>'ccc');
unset($array[array_search('bbb', $array)]); //array(2) { [0]=> string(3) "aaa" [2]=> string(3) "ccc" }

これをループでまわしたりすると、配列のキーが
歯抜けになってしまう。

foreachでまわせばいいけど、今回は歯抜けを埋めて
尚且つ0から順番に並べたかった。

・array_values();
http://php.net/manual/ja/function.array-values.php

■サンプル
$array = array(0=>'aaa', 1=>'bbb', 2=>'ccc');
unset($array[array_search('bbb', $array)]); //array(2) { [0]=> string(3) "aaa" [2]=> string(3) "ccc" }
$array = array_values($array); //array(2) { [0]=> string(3) "bbb" [1]=> string(3) "ccc" }

 - PHP

  関連記事

images
var_dumpの中に複数値を入れられる

何行もvar_dump書いてたけど一行でいけるみたい。 <?php $ho ...

images
PHPで特定のファイル内のみタイムアウトを無効にする

重たい処理をするページだけ、タイムアウトを無効にする場合のメモ。 以下をPHPフ ...

images
mp3ファイルのアップロードと再生方法

mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したか ...

images
PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズ

PHPで縦横どちらかが指定の長さを超えた場合、 比率を保ったままリサイズしたかっ ...

images
PHPでの$_REQUESTは色々危険

extract($_REQUEST)はかなり怖いよ、という話が最近あった。 でき ...

images
他サーバーにある画像をPHPで取得して保存する方法

他サーバーにある画像をURLで指定して、PHPで取得して保存する方法のメモ。 フ ...

images
ユーザーエージェントなどユーザー情報を取得する方法

上からUA、IP、ホスト名を取得。 $ua = $_SERVER['HTTP_U ...

images
PHPで配列かどうかを調べる

配列か否かを調べたいケースがあり、確認すると ばっちりそのままの関数発見。 is ...

images
PHPのfor文とforeach文

ループ処理の際、forとforeachのどっちでもいけそうな場合、 特にどっちを ...

images
PHPでdatetime型を分割する

datetime型を年月日時分秒でそれぞれに 分割させたい時に、今まではいちいち ...