• 締切済み

配列の中身を入れ替える方法

非常に初心者的な問題だとは思いますがよろしくお願いします Array ( [0] => みかん [1] => りんご [2] => バナナ [3] => キウイ [4] => メロン [5] => スイカ) 上記のような配列があったとしまして、 [2] => バナナ [3] => キウイ [4] => メロン を、 [2] => イチゴ [3] => もも [4] => さば に変更したいのですが、 どのようにすればよいでしょうか・・・ かれこれ2日ほどやっているのですがわかりません・・・ よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

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

おっしゃる意味があいまいですが・・・ 2,3,4番目の要素をそれぞれイチゴ,もも,さばに変更したいのであれば こんな感じ <? $array=Array ("みかん","りんご","バナナ","キウイ","メロン","スイカ"); list($array[2],$array[3],$array[4])=Array("イチゴ","もも","さば"); print_r($array); ?> そうではなくバナナ,キウイ,メロンというデータをイチゴ,もも,さば に変更したいなら <? $array=Array ("みかん","りんご","バナナ","キウイ","メロン","スイカ"); list($array[array_search("バナナ",$array)],$array[array_search("キウイ",$array)],$array[array_search("メロン",$array)])=Array("イチゴ","もも","さば"); print_r($array); ?> となります。ただし、同じ内容のデータが2つ以上ある場合は もうすこし工夫が必要です

yagiyagio
質問者

お礼

分かりにくい文章で申し訳ないです。 最初のご回答で解決いたしました。 ありがとうございました。

関連するQ&A

  • 多次元配列

    初歩的な質問ですみません。 PHPプログラミングでの質問です。 仮に、多次元配列Aに、 Array( [0] => Array ( [0] => 6 ) [1] => Array ( [0] => 2 [1] => 1 ) [2] => Array ( [0] => 0 [1] => 5 [2] => 4 ) ) 多次元配列Bに、 Array( [0] => Array ( [0] => りんご ) [1] => Array ( [0] => ぶどう [1] => パイナップル ) [2] => Array ( [0] => みかん [1] => すいか [2] => メロン ) ) のように値が入っている場合、配列Aの値を参照して 値の大きいものから順に、それに対応する配列Bの値を取り出し、 あたらしい配列Cに代入する処理の書き方を教えて下さい。 上記の例ですと、配列Cが、 Array ( [0] => りんご [1] => すいか [2] => メロン [3] => ぶどう [4] => パイナップル [5] => みかん ) となるようにしたいです。 よろしくお願いします。 長文失礼しました。

    • ベストアンサー
    • PHP
  • 二つの2次元配列をforeachで入れ子で回して、

    二つの2次元配列をforeachで入れ子で回して、ユーザーNOと商品名を比較して一致すれば数量を足して新しい2次元配列に入れ、 ユーザーNOだけ一致もしくはどちらも違う場合はそのままいれるphpのプログラムを作りたいです。 arrayの中はユーザーNO,商品名,数量です $cart[0]=array(1,バナナ,3) $cart[1]=array(2,イチゴ,2) $cart[2]=array(1,すいか,3) $cart2[0]=array(1,バナナ,2) $cart2[1]=array(2,メロン,5) $cart2[1]=array(1,すいか,3) $newcart[0]=(1,バナナ,5) $newcart[1]=(1,すいか,6) $newcart[2]=(2,イチゴ,2) $newcart[3]=(2,メロン,5) どのようにプログラムしたらよろしいでしょうか?

    • 締切済み
    • PHP
  • エクセル データの比較・抽出方法について

    列1と列2を比べて、データが一致しないものを抽出したいのですが、方法がわかりません。どなたかご存知のかた教えていただけないでしょうか? 列1     列2 りんご   りんご みかん   メロン もも    もも いちご   バナナ 列2にあって 列1にないもの (→この場合メロン・バナナ) 列1にあって 列2にないもの (→この場合みかん・いちご) をそれぞれ分かるようにしたいのです。 エクセルの関数を使ってできたらよいなと思うのですが どなたか知恵を貸していただけないでしょうか。 よろしくお願いします。

  • PHPで配列を元に新しく配列を生成するには?

    下記のような配列があります。 Array ( [0] => Array ( [no] => 13 [item] => りんご [kosuu] => 1 ) [1] => Array ( [no] => 13 [item] => みかん [kosuu] => 1 ) [2] => Array ( [no] => 13 [item] => いちご [kosuu] => 1 ) [3] => Array ( [no] => 13 [item] => ぶどう [kosuu] => 1 ) [4] => Array ( [no] => 13 [item] => 梨 [kosuu] => 1 ) [5] => Array ( [no] => 13 [item] => スイカ [kosuu] => 1 ) [6] => Array ( [no] => 13 [item] => バナナ [kosuu] => 1 ) [7] => Array ( [no] => 14 [item] => キャベツ [kosuu] => 1 ) [8] => Array ( [no] => 11 [item] => アジ [kosuu] => 1 ) [9] => Array ( [no] => 12 [item] => 豆腐 [kosuu] => 1 ) ) この配列を使用して下記のようなHTMLのタグでTABLEを生成しようと考えています。 ------------------------------------------ |りんご   |みかん   |いちご   | ------------------------------------------ |ぶどう   |梨     |スイカ   | ------------------------------------------ |バナナ   |      |      | ------------------------------------------ |キャベツ  |      |      | ------------------------------------------ |アジ    |      |      | ------------------------------------------ |豆腐    |      |      | ------------------------------------------ 上記の配列を元に下記のように配列データを作成するにはどうしたらいいでしょうか。 Array ( [0] => Array ( [no] => 13 [item] => りんご [kosuu] => 1 ) [1] => Array ( [no] => 13 [item] => みかん [kosuu] => 1 ) [2] => Array ( [no] => 13 [item] => いちご [kosuu] => 1 ) [3] => Array ( [no] => 13 [item] => ぶどう [kosuu] => 1 ) [4] => Array ( [no] => 13 [item] => 梨 [kosuu] => 1 ) [5] => Array ( [no] => 13 [item] => スイカ [kosuu] => 1 ) [6] => Array ( [no] => 13 [item] => バナナ [kosuu] => 1 ) [7] => Array ( [no] => 13 [item] =>   [kosuu] => 0 ) [8] => Array ( [no] => 13 [item] =>   [kosuu] => 0 ) [9] => Array ( [no] => 14 [item] => キャベツ [kosuu] => 1 ) [10] => Array ( [no] => 14 [item] =>   [kosuu] => 0 ) [11] => Array ( [no] => 14 [item] =>   [kosuu] => 0 ) [12] => Array ( [no] => 11 [item] => アジ [kosuu] => 1 ) [13] => Array ( [no] => 11 [item] =>   [kosuu] => 0 ) [14] => Array ( [no] => 11 [item] =>   [kosuu] => 0 ) [9] => Array ( [no] => 12 [item] => 豆腐 [kosuu] => 1 ) [9] => Array ( [no] => 12 [item] =>   [kosuu] => 0 ) [9] => Array ( [no] => 12 [item] =>   [kosuu] => 0 ) ) すみませんがご教授お願いします。 宜しくお願いします。 失礼します。

    • 締切済み
    • PHP
  • エクセル出の並び替えについて質問

    エクセルの並び替えにおいて質問させていただきます。  A列  B列  C列   D列 りんご  1  バナナ  4 バナナ  2  みかん  6 すいか  3  いちご  8 みかん  4  もも   3 いちご  5  すいか  2 ドリア  6  ぶどう  1 というものを  A列  B列  C列   D列 りんご  1   バナナ  2  バナナ  4 すいか  3  すいか  2 みかん  4  みかん  6 いちご  5  いちご  8 ドリア  6           もも   3         ぶどう  1 というようにA列にならってC,D列の項目を並び替えて、並び替えられないものは下に列挙させるようなやり方がありましたら教えてください。 どうぞ宜しくお願いします。

  • Excel2003 並び替えに関する質問 VBA初心者

    エクセルの並び替えにおいて質問させていただきます。  A列  B列  C列   D列 りんご  1  バナナ  4 バナナ  2  みかん  6 すいか  3  いちご  8 みかん  4  もも   3 いちご  5  すいか  2 ドリア  6  ぶどう  1 というものを  A列  B列  C列   D列 りんご  1   バナナ  2  バナナ  4 すいか  3  すいか  2 みかん  4  みかん  6 いちご  5  いちご  8 ドリア  6           もも   3         ぶどう  1 というようにA列にならってC,D列の項目を並び替えて、並び替えられないものは下に列挙させるようなやり方をVBAで組みたいのですが、まずはどうすればよいのかわかりません。 もし、これを見て答えられるようであれば、どなたか教えていただければ幸いです。 どうか宜しくお願いします。

  • 【EXCEL2000】2つのリストの合計を出すには?

    リストA リンゴ 3 みかん 5 バナナ 2 スイカ 3 リストB りんご 2 メロン 4 バナナ 3 いちご 2 ↑のような2つのリストがあるとして、 リストC りんご 5 みかん 5 バナナ 5 スイカ 3 メロン 4 いちご 2 リストA・Bの合計がリストCのようにするにはどのような関数を使えばいいかお解りになる方教えてください。 判りづらい質問で申し訳ありません。m(_ _)m ※品名と数量は別セルです。

  • Excelで同一文字列を検出して隣りのセルに返すなどしたい

    Excelのシートの1列に文字列がずらっと並んでいるとします。本来は「いちご、りんご、ばなな、みかん、すいか、めろん」と、ダブリがないはずの項目ばかりが入力されているはずでしたが、しかし実際は「いちご、りんご、ばなな、りんご、みかん、いちご、すいか、めろん」という風に、いくつかの項目にダブリがあるとします。そこで、そのダブリを発見し、何がダブっているのか手早く知る方法があれば教えてください。関数、もしくはマクロをご存知の方、お願いいたします。

  • 言葉を並べる

    好きな食べ物は、りんごとみかんとバナナとイチゴとスイカです。 好きな食べ物は、りんご、みかん、バナナ、イチゴ、スイカです。 好きな食べ物は、りんご・みかん・バナナ・イチゴ・スイカです。 のどれが正しいですか?

  • 果物(野菜)の好き嫌い

    この中から挙げる果物(野菜) 大好き◎ 好き〇 普通△ 嫌い× 回答下さい。 (1) 柿 (2) みかん (3) マンゴー (4) グレープフルーツ (5) ぶどう (6) 桃 (7) バナナ (8) りんご (9) なし (10) キウイフルーツ (11) すいか (12) メロン (13) いちご (14) いちじく (15) さくらんぼ

専門家に質問してみよう