人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpの配列の基本的なことなのですが、

$arr = array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4);

上記配列のインデックス[1]と[3]に代入されている値をそれぞれ入れ変えるには
具体的にどのようにすれば良いでしょうか?


結果として下記配列へ
$arr = array(0 => 0, 1 => 3, 2 => 2, 3 => 1, 4 => 4);

●質問者: akide
●カテゴリ:ウェブ制作
✍キーワード:PHP インデックス 配列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●100ポイント

一旦他の変数に入れるなど、場面に応じた方法はあるかと思いますが、

シンプルな方法として list を使った例を書いてみました。

$arr = array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4); # 変数準備
print_r($arr); # 初期状態の出力
list($arr[3], $arr[1]) = array($arr[1], $arr[3]); # 入れ替え
print_r($arr); # 結果状態の出力

PHP: list - Manual

◎質問者からの返答

ご回答ありがとうございます。


2 ● y-kawaz
●100ポイント

2通りの方法を紹介します。一般的なやり方と、PHP特有のTipsです。

<?php

//どの言語でも通用するアルゴリズム
$tmp = $arr[1];
$arr[1] = $arr[3];
$arr[3] = $tmp;

//1行で済ませるTips
list($arr[1], $arr[3]) = array($arr[3], $arr[1]);

?>

http://q.hatena.ne.jp/answer

◎質問者からの返答

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ