2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHP 配列の中の配列の値を書き換える方法

Posted at

目的

  • 配列の中に入った配列の中の値を更新する方法をまとめる

実施環境

  • 下記サイトにてPHPの動作を確認しながら本記事を書いた。

  • 配列の中に入った配列の値を更新する処理を下記に記載する。

    foreach (配列A as &変数){
        変数['インデックス'] = '更新したい値';
    }
    

連想配列の既存インデックスのデータを書き換える具体例

  • 配列「$infos」には連想配列が格納されている物とする。

  • 連想配列にはインデックス「id」に商品IDが、インデックス「item_name」に商品名が、インデックス「price」に商品の税抜きの値段が格納されている物とする。

  • 配列「$infos」に格納されている連想配列のインデックス「price」の税抜き金額を引き出し、税率を用いた計算をし、連想配列のインデックス「price」の税抜き金額を税込み金額で書き換える方法を下記に記載する。

    <?php
    
    $infos[] = [
        'id' => 1,
        'item_name' => 'PHP book',
        'price' => '1000',
        ];
        
    $infos[] = [
        'id' => 2,
        'item_name' => 'Ruby book',
        'price' => '1200',
        ];
        
    foreach ($infos as &$info){
        $info['price'] *= 1.1;
    }
    
    var_dump($infos);
    
    ?>
    

連想配列に新規インデックスを追加する具体例

  • 配列「$infos」には連想配列が格納されている物とする。

  • 連想配列にはインデックス「id」に商品IDが、インデックス「item_name」に商品名が、インデックス「price」に商品の税抜きの値段が格納されている物とする。

  • 配列「$infos」に格納されている連想配列のインデックス「price」の税抜き金額を引き出し、税率を用いた計算をし、連想配列にインデックス「price_in_tax」を追加する方法を下記に記載する。

    <?php
    
    $infos[] = [
        'id' => 1,
        'item_name' => 'PHP book',
        'price' => '1000',
        ];
        
    $infos[] = [
        'id' => 2,
        'item_name' => 'Ruby book',
        'price' => '1200',
        ];
        
    foreach ($infos as &$info){
        $info['price_in_tax'] = $info['price'] * 1.1;
    }
    
    var_dump($infos);
    
    ?>
    

参考文献


foreach ($items as &$item){
    $item['id'] = 123;
};

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?