• ベストアンサー

配列に格納された値の変更について

お世話になります。現在下記のように配列に値を入れています $result=pg_query($db,$sql); $status=pg_result_status($result); $data=array(); while($row=pg_fetch_row($result)){ $data1[]=array("namae_id"=>$row[0],"namae"=>$row[1]); } 値を格納してからnamaeの部分の値を変更したいのですが、どのようにしたらいいでしょうか? 例えばnamae_id=4のnamaeの値を太郎から太郎 様という感じで変更したいのです。 よろしくお願いします。

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

while($row=pg_fetch_row($result)){ $data1[$row[0]]=array("namae_id"=>$row[0],"namae"=>$row[1]); } $data1[4]['namae'] = "太郎 様" ってのはダメですか?

kou99
質問者

お礼

ありがとうございます。出来ました。

その他の回答 (1)

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

すべてのnamaeを一括で修正したいというなら 処理するfunctionを用意してarray_walk()になげるのが有効です。 わかりにくければforeachで処理してもよいでしょう <?PHP $data1[]=array("namae_id"=>1,"namae"=>"太郎"); $data1[]=array("namae_id"=>2,"namae"=>"次郎"); $data1[]=array("namae_id"=>3,"namae"=>"花子"); $data1[]=array("namae_id"=>4,"namae"=>"愛子"); function addSAMA(&$item){ $item["namae"].=" 様"; } array_walk($data1,"addSAMA"); print_r($data1); ?>

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

お礼

ありがとうございます。すべてではなくて、例えばnamae_idが4の場合のnamaeを変更したいのです。よろしくお願いします。

関連するQ&A