タグ

tipsとphpに関するnobyukiのブックマーク (3)

  • PHP foreachで回した配列を更新する - Qiita

    基礎の基礎という感じですが、初投稿も兼ねてforeachで回した配列の要素を更新する方法についてメモします。 例)数値型を持つ配列$arrayの各要素をforeachで取り出し、各要素に+1する 以下はNGケースです。 $array = [1, 2, 3]; foreach($array as $value){ $value += 1; } print_r($array); /* 実行結果 → 各要素に+1されない Array ( [0] => 1 [1] => 2 [2] => 3 ) */ 上記のコードでは配列を更新できません。foreachの仕様として、配列要素のコピーがforeach内の変数に格納されるため、更新ができないのです。 foreachの変数を利用して配列要素を更新するためには、参照渡しをする必要があります。 手順は以下2点です。 ・更新したいforeach変数の頭に&を

    PHP foreachで回した配列を更新する - Qiita
  • PHPの知見がたまったので共有します - Perl日記

    順不同です。 インスタンスメソッド内でのクラス変数取得 <?php class Hoge { public static $ids = array(123, 234, 345); public function from_static() { return static::$ids; // staticでも } public function from_self() { return self::$ids; // selfでも } } $hoge = new Hoge(); print_r( $hoge->from_static() ); //=> array(123, 234, 345) print_r( $hoge->from_self() ); //=> array(123, 234, 345) static::$idsでもself::$idsでもどっちでも呼べる デフォルト引数に定

    PHPの知見がたまったので共有します - Perl日記
  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

    PHP コード最適化 Best Practices 63+ - カタコト日記
  • 1