• ベストアンサー

in_array

$a=array("あ"); $b= "あ" $c=in_array($a,$b) if( この処理の時に、あの前と後の値を指定したい場合なんて書きますか? (2)あが2つ連続であった場合は違う処理をしたいです。その場合どう書けば良いですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

in_arrayはあるかないかのチェックだからarray_searchを使えば? <?PHP $a=array("i","j","k"); $b= "i"; $c=array_search($b,$a); print $b."がヒットしたのは、".$c."番目のデータ<br>\n"; print "前のデータは".($c>0?$a[$c-1]:"ありません")."<br>\n"; print "後のデータは".($c<count($a)?$a[$c+1]:"ありません")."<br>\n"; ?> 前と後がないデータをどうしたいのでしょうか? >あが2つ連続であった場合は違う処理をしたい 常識的には再帰的な処理で行うか、最初のヒットでやめちゃうのが妥当。 連続であった場合どうしたいの? $a=array("i","j","j","k"); $b= "j"; 加えて連続ではない場合どうしたいの? $a=array("i","j","k","j","l"); $b= "j";

参考URL:
http://www.php.net/manual/ja/function.array-search.php
drmada
質問者

補足

回答ありがとうございます。ちょっと特殊なプログラムでして、グラフを作成してます。0だとグラフが途切れる為、前後で割って、その値を代入したいのです。00と0が続いたら割り方を変えねばなりませんし、そういう意味でお聞きしました。アドバイス等あればお願い致します。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

関連するQ&A

専門家に質問してみよう