• ベストアンサー

配列の何番目かを出力したい

配列(80,-1,50,40) $ba = -1 $ba2 = array_search($ba,配列) echo array[$ba2-1]; この出力結果を0にしたいのに0番目の80が出ます。 どうすれば、並び番号を出力できますか??

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

  • ベストアンサー
  • OKWaaave
  • ベストアンサー率32% (90/276)
回答No.7

引数を表示すしたいのにわざわざ配列の中身を表示させてるんじゃ‥‥ね。 echo $ba2-1;

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

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

>0番目って意味です ああ、そういうこと・・・ echo $ba2-1;

全文を見る
すると、全ての回答が全文表示されます。
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3
全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ごめん、いつも以上に意味がまったくわからないのだが・・・ >この出力結果を0にしたいのに どういうロジックにすれば出力結果が0になるのさ? 配列のどこにも「0」なんてものが存在しないけど・・・

drmada
質問者

補足

0番目って意味です。0番=80ですよね?これを出力80じゃなく0にしたいです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 配列の値を一行あけて出力

    配列の値を一行あけて出力したいのですが、うまくいきません。 ご教授お願いいたします。 <shell> #!/bin/bash ARRAY=("aaaa" "bbbb" "cccc") IFS=$'¥n'$'¥n' echo "${ARRAY[*]}" <現在の出力> aaaa bbbb cccc <期待する出力> aaaa bbbb cccc

  • 2つの連想配列を比較して一致するものを出力

    下記のような連想配列が2つあります。 それらの配列の3つ目の電話番号(070-0000-000等)のみを比較して一致する連想配列を配列にして出力するようなプログラムを考えています。 連想配列同士を比較する方法が見つからなかったため、どのように書いたら良いのかわかりません。 ご教授お願い致します。 【既存の連想配列】 <?php $first = array(     'test_1' => array(         0 => '山田太郎',         1 => 'ヤマダタロウ',         2 => '090-0000-0000',     ),     'test_2' => array(         0 => '田中次郎',         1 => 'タナカジロウ',         2 => '080-0000-0000',     ),     'test_3' => array(         0 => '佐藤三郎',         1 => 'サトウサブロウ',         2 => '070-0000-0000',     ), ); $second = array(     'test_1' => array(         0 => '鈴木四郎',         1 => 'スズキシロウ',         2 => '050-0000-0000',     ),     'test_2' => array(         0 => '佐藤五郎',         1 => 'サトウサブロウ',         2 => '070-0000-0000',     ),     'test_3' => array(         0 => '安藤六郎',         1 => 'アンドウロクロウ',         2 => '000-0000-0000',     ), ); ?> 【比較後の配列(例)】 $result //に結果を格納 この$resultの中身は、 array('佐藤五郎','サトウサブロウ','070-0000-0000'); のような感じです。

    • ベストアンサー
    • PHP
  • phpで、配列の値が意図せず変わってしまいます。

    環境はphp4です。 for、もしくはforeachを使って配列の中身を変えたいと思っています。 $array1 = array(123csv, 456csv, 789csv); for($a = 0; $a <= count($array1) -1; $a++){ $array2[] = "a" . $array1[$a]; } echo $array1[0]; echo $array2[0]; 上記の出力結果がなぜか異なり困っています。 array1[0]は「123csv」、 array2[0]は「a113csv」、もしくは「a12300v」 などとなってしまいます。 先頭に「a」を付加しない場合も「113csv」、もしくは「12300v」という結果です。 ちなみに$array1はexplodeを使って空白文字をを分割して作成した配列です。 これなバグなのでしょうか。 原因、回避策など、いろいろ調べましたが検討がつきません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 配列IF()について質問です。

    $bad = -1; $bad2 = array_search($bad,$king_array); if($bad2==""){ echo "こんばんわ"; }else{ if($king_array[$bad2-1]!==-1 and $king_array[$bad2]==-1){ $king_array[$bad2] = ($king_array[$bad2-1]+$king_array[$bad2+1])/2; }else{ echo "おはよう"; }}} 現在こんな感じで、配列に-1が有れば、代入する式を書いています。 しかし、これだと配列に-1が二つ入る(例:80,-1,60,-1,50)と上記の式を実行してくれなくなります。 これを解決するにはどうすれば良いですか?? 他にも-1が連続で二つ入った場合はどうすれば良いですか??

    • ベストアンサー
    • PHP
  • 多次元配列?配列のキー?変数の型?

    PHP勉強中のものです。 予定通りの動作にならんく四苦八苦しています。 どのように修正すれば予定通りになるのか考え方のアドバイスなどお願いします。 処理したいこと 変数$xxxの先頭の文字と最後の文字をsubstr()で取り出し$aaaと$bbbに別けそれぞれ代入しキーとして多次元配列に代入した配列要素を指定してechoで出力したい 試してみたこと $aaa1と$bbb1に直接整数を代入してみたところ、echoで出力された キーになる変数を整数型として変数に代入してみたが希望通りの動作にならなかった。 なにかアドバイス頂けると助かります。 $array = array( "0" =>array("あいうえお","かきくけこ"), "1" =>array("さしすせそ") ); $xxx = "0-1"; $aaa = substr($xxx,0,1); $bbb = substr($xxx,2); $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない $aaa1 = 0; $bbb1 = 1; echo $array[$aaa1][$bbb1]; //出力された $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない

    • ベストアンサー
    • PHP
  • ダブルクウォートやヒアドキュメント内での変数や配列を使った計算の表記方法?

    素人の素朴な疑問なんですがよろしいでしょうか? echo等で出力する "" (ダブルクウォーテション)やヒアドキュメントの「中で」 変数や配列を使った計算をすることってできますか?たとえば $mynum = 5; echo "最初の計算結果は {$mynum}+100 です。"; //105 $myarray = array(8,13,25); echo "2番目の計算結果は {$myarray[2]}+100 です。"; //125 のようなイメージなんですが・・・。 素直に""の外に出して計算し、ピリオドで結合するとか、 echoより前で変数や配列の計算を済ませておくというのが筋かと思うのですが、 たとえばめったに条件を満たさないif文中のechoの中だけで、一回限りで使う時など、 ""の外に出したり、元の変数を変化させたり、新しい変数を設けたりしないで済んだらなぁ~、 と思いまして。できなければできないで何の問題もないんですが、 よろしければご教授ください。m(_ _)m

    • ベストアンサー
    • PHP
  • print_rで出力した配列データファイルをfile_get_cont

    print_rで出力した配列データファイルをfile_get_contentsでそのまま取り込もうとしましたが、配列としてではなく文字列として取り込んでしまいます。 ひとつの配列にまとまってしまします。 text.php $data=array(1,2,3,4,5); print_r($data); Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) output.php これを別ファイルで取り込むと$value= file_get_contents("text.php"); echo $value; print_r($value);両方とも Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) が出力されました。 配列として取り込みたいのですが可能でしょうか?

    • ベストアンサー
    • PHP
  • テキストを多次元配列に格納したい

    $text="1;2;3:4;5;6:7;8;9:10;11;12:…"; $tmp = split(":",$text); これでtmpで格納された1;2;3、4;5;6、7;8;9、10;11;12をさらに分けて、多次元配列で格納しようと思います。 すなわち多次元配列"arrayについて、 print_r($array[0])の出力結果がArray ( [0] => 1 [1] => 2 [2] => 3 ) print_r($array[2])の出力結果がArray ( [0] => 7 [1] => 8 [2] => 9 ) となるような感じです。 しかし自分ではtmpからarrayへの変換がうまくいきません。 どなたかこのような働きをするコードを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPの配列の出力について

    $loop = 5; $count = 0; while($count < $loop){ mt_srand(microtime() * 100000); $rand_key = rand(0,9); if (in_array($rand_key, $yomi)){ $count--; continue; } echo $yomi[$rand_key]\n; } 配列($yomi)に格納されたひらがなから5つ重複させずに選び出したいのですが、 randで選出された「りんご」が2度選び出された場合、これでやり直しされますか? 現在出力出来る環境がありません… 初心者ですので指摘やアドバイス等いただけると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 多次元配列の画面出力

    PHP 5.1.6で、 <?php $ary[0][0]="ABC"; $ary[0][1]="DEF"; echo "$ary[0][0],$ary[0][1]"; ?> だと Array[0],Array[1] と出力されます。$ary[0]までで変数の認識を終わらせちゃってるようです。 <?php $ary[0][0]="ABC"; $ary[0][1]="DEF"; $a=$ary[0][0]; $b=$ary[0][1]; echo "$a,$b"; ?> とすると ABC,DEF と出力されます。 上のような記載方法でうまく出力する方法はないものでしょうか? 実用で困ってる訳でも変数をケチっている訳でもないんですが、些細な可読性の面で。

    • ベストアンサー
    • PHP