PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

<?php class Obj implements ArrayAccess { public $container = [ "one" => 1, "two" => 2, "three" => 3, ]; public function offsetSet($offset, $value): void { if (is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } public function offsetExists($offset): bool { return isset($this->container[$offset]); } public function offsetUnset($offset): void { unset($th
鉄則: C言語レベルで再帰処理させろ! PHP言語レベルで再帰させるのとC言語レベルで再帰させるのでは、処理速度に雲泥の差がある。 圧倒的にC言語レベルの方が高速。 よく使う関数・クラス 以下の関数やクラスを使えば、配列の要素を辿っていく再帰処理であっても、 葉ノードだけを (PHP言語レベルでは) 単一のループ で処理させることが可能。 array_walk_recursive() http://php.net/manual/ja/function.array-walk-recursive.php 最速。 RecursiveIteratorIterator http://www.php.net/manual/ja/recursiveiteratoriterator.construct.php array_walk_recursive()より速度的には僅かに劣るが、こちらにしか出来ないこと
PHP で配列の要素にアクセスして、処理を行うには、for や foreach を使うのがおなじみです。 この方法でも良いのですが、PHPには、それ以外にも配列を走査する関数やライブラリがあります。ここでは、配列を走査して処理を行う方法を見てみましょう。 サンプル仕様 このエントリで以下の配列を処理対象とします。array.phpで保存されている想定です。 <?php return [ [ 'id' => 1, 'year' => 1993, 'name' => 'Harada', ], [ 'id' => 2, 'year' => 2001, 'name' => 'Kato', ], [ 'id' => 3, 'year' => 2009, 'name' => 'Aoyama', ] ]; この配列について処理を行います。 配列内に連想配列が格納されており、nameとyearというキーを
「2つの配列が同じものかどうかチェックするPHP関数」 にインスパイアされて作ってみました。多次元配列に対応しています。 同じ値を持つときに True を返す ソートさせて配列全体を === で比較させます。素直に in_array 関数あたりを使うことも考えましたが個数を考慮することが出来ないので、やはりソートが一番手っ取り早いし分かりやすいという結論に達しました。 function is_same_array(array $a, array $b) { static $sort; if (!$sort) { $sort = function (array &$array) use (&$sort) { foreach ($array as &$value) { if (is_array($value)) { $sort($value); } } sort($array); }; } $
PHPの配列結合には、array_merge()、array_merge_recursive()、+演算子があるのですが、少しずつ結果が異なります。 具体的には、keyが数字の場合、array_merge()とarray_merge_recursive()は、keyを振りなおして結合。 +演算子は、keyそのままで、前の配列の値を残します。 $arrayFirst = [0 => 'a', 10 => 'b']; $arraySecond = [0 => 'A', 100 => 'B']; var_dump(array_merge($arrayFirst, $arraySecond)); var_dump(array_merge_recursive($arrayFirst, $arraySecond)); var_dump($arrayFirst + $arraySecond); /* 結
先頭を削除し先頭を取得する var hoge = [1,2,3,4]; var piyo = hoge.shift(); //[2,3,4]; alert(piyo); //1 破壊的 ▲ ▼ 末尾を削除し末尾を取得する var hoge = [1,2,3,4]; var piyo = hoge.pop(); //[1,2,3] alert(piyo); //4 破壊的 ▲ ▼ 末尾に追加する var hoge = new Array(); hoge.push('aaa'); 破壊的 実はこのメソッド var hoge = []; hoge.push('aaa', 'bbb', 'ccc'); 引数を何個もとって連続で追加することができる。 ▲ ▼ 配列を結合する(破壊的) 「末尾に追加する」pushは引数を複数個とれるので、こいつを応用すると破壊的に配列を結合することができる var h
以前配列にある値が存在するかどうかをfor文を使わずに調べる方法を考えてみたという記事を書きました。この記事は「やろうと思えばこういう方法でもできるなぁ」というアイデアについて書いた記事だったのですが、Javascriptで配列にある値が存在するかどうかを確認する一般的な方法を探して当該記事を訪問していただくことが多いので改めてこの方法について書いてみたいと思います。 といってもJavascriptには"Array.contain"のような「まさにそのためにある」というメソッドが用意されているわけではないのでいずれにしろ方法の紹介ということになってしまいますが。 次の3つのパターンに分けて書きたいと思います。 ECMAScript 5が使える場合 jQueryが使える場合 上記のどちらも使わない場合 1.ECMAScript 5が使える場合 ECMAScript 5では配列に"indexO
PHPで配列の処理をする時、foeachをよく使います。これは私だけではなく、恐らく多くのPHPerがそうだと思います。 しかしながら、PHPには多くのarray_xxxx系標準関数(以下:array系関数)が用意されており、標準関数で行える事は標準関数で処理したほうが、スマートで、高速です。 初級編 初級編では、超多様するin_array()などの基礎的なものはスキップして、たまに使うレベルのものをいくつかご紹介したいと思います。 array_sum() まずは、配列の中の数値の合計を返してくれるarray_sum関数です。 array_sum() http://php.net/manual/ja/function.array-sum.php <?php $ary = array(100, 200, 300); //この配列の合計が欲しい場合 //foreachの場合 $sum = 0;
明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く