揮発性のメモ2

http://d.hatena.ne.jp/iww/

PHP

print_r の読み方

PHP

"Hello", "b"=>1234); print_r($b); A Object ← Objectって出る ( [a] => Hello [b] => 1234 ) Array ← Array って出る ( [a] => Hello [b] => 1234 )オブジェクトと連想配列の出力の区別がつかないけど、1行目で区別ついてた

配列の結合

PHP

(0,1,2,3) という配列a と (A,B,C,D,E,F) という配列b をくっつける 0 [1] => 1 [2] => 2 [3] => 3 [4] => E [5] => F )配列同士を足し算すると、添え字はそのまま扱われる。 同じ添え字の場合、先のが優先される。

セッション変数を覗く

PHP

セッション変数をコマンドラインから覗けるとデバッグ時に便利なので、覗けるようにする。 普通のセッションの場合 #!/usr/bin/php -q

自動で採番される配列の添え字は 最大値+1

PHP

キーを省略して新規要素を追加する場合、 追加される数値添字は、使用されている添字の最大値 +1になります。 まだ数値添字が存在しない場合は、添字は 0 (ゼロ) となります。 ・・・ その配列の最大添字が負である場合は次の添え字はゼロ (0) となります。 …

PhpStormで、"Multiple definitions exist for class" の警告を抑止する

のっぴきならない事情により同一プロジェクトに複数の同名クラスがあるためこの警告が出てしまうのを、出ないようにする。 File⇒Settings ⇒Editor⇒Inspections ⇒PHP⇒Undefined⇒Undefined class のオプション Don't report multiple class declaration potent…

PhpStormで、無視したいwarningを簡単に選択する

PhpStormで、わざとやってるなどの理由で、警告してほしくない警告を無視する。 たとえばコンストラクタの型が不一致とかのやつ 豆電球アイコンをクリックしていき、「Edit inspection profile setting」を選ぶと Inspectionの設定ページに飛ぶので、そこで…

PhpStormで、コード補完時に大文字小文字の区別をしない

File ⇒ Settings... ⇒ Editor ⇒ General ⇒ Code Completion Case sensitive completion が補完時に大文字小文字の区別をつけるかの設定になってる。 None 大文字小文字を区別しない All 大文字小文字を区別する First letter 先頭の文字だけ大文字小文字を区…

PHPのヒアドキュメントの使い方

PHP

http://php.net/manual/ja/language.types.string.php 改行は改行コードとなる

PhpStormで、PHPDocのエラーが取れない

文字列を1文字ずつ分解してアスキーコードの配列にする

PHP

文字列を1文字ずつ分解してアスキーコードの配列にする 65 [2] => 66 [3] => 67 )unpackの戻り値の配列は添え字が 1始まり なので注意する。*1 アスキーコードの配列を文字に戻してくっつけて文字列にする

PDOで、INの代わりにfind_in_set関数を使う

prepare($sql); for($i=0;count($list);$i++) $sth->bindValue($i+1, $list[$i]; 普通に書くとだいたいこう。 だけど、クエリーは動的に作りたくない。

ブール値の足し算

PHP

TRUEは1、FALSEは0 PHP: 整数 - Manual

PhpStormで、<? の後ろをインデントさせない

インデントの設定は File⇒Settings... ⇒Editor⇒Code Style⇒PHP を参照する。 Other の中の □Indent code in PHP tags のチェックを外せば

$argv は関数の中では使えない

PHP

$argv はただのグローバル変数なので、関数の中では使えない。 使いたいときは、grobal宣言を忘れずに使用する。 #!/usr/bin/php -q <text>\n"); exit(0); } $opt = getopt("e:d:"); if(count($opt)===0) usage(); PHP: スーパーグローバル - Manual</text>

SimpleXMLElement

PHP

</hoge>"; $xml = new SimpleXMLElement($data); print_r($xml); if( empty($xml) ) print("empty"); if( empty($xml->hoge) ) print("empty\n"); SimpleXMLElement Object ( ) empty emptyempty扱い。 </hoge> __HOGEHOGE__; $xml = new SimpleXMLElement($data); print…

empty()

PHP

empty()の挙動メモ PHP: empty - Manual

三項演算子の真ん中が省略されたやつ

PHP

PHP: 比較演算子 - Manual 三項演算子の真ん中が省略されたやつは、最初のが真ならそれを代入、偽なら後ろの値を代入する。 初期化されてなかったら初期値代入、みたいなのに使えそう。でも使い勝手は悪いし なにより見た目が美しくないので 使うのは禁止に…

PhpStormで、ツールバーに ディレクトリ内検索 を追加する

ディレクトリ内検索とはGrepみたいなやつ (Edit⇒Find⇒Find in Path... (Ctrl+Shift+F)) のこと。

PhpStormでタブコードを見れるようにする

ホワイトスペースを可視化する設定は File ⇒ Settings... から Editor ⇒ General ⇒ Appearance へ行き Show whitespaces をチェックする Leading は先頭の空白、 Inner は文中の空白、 Trailing は末尾の空白をそれぞれ見れるようにする。 タブをスペースに…

PhpStormで改行コードを CRLFから LF に変更する

新規ファイル作成時のデフォルト設定 File⇒Settings... から Editor⇒Code Style の Line separator を \n に変更 http://www.miukoba.net/blog/2013/02/24/idea-ide-settings/ 既存ファイルの変更 ファイルを開いてから ステータスバーの右っかわあたり で変…

PhpStormでプロジェクトツリーで隠しファイルを非表示にする

好きなようにフィルタリングを設定した自分用スコープを作る。 Projectツリーから Scopesの下を適当に選び、それから 歯車 を押して「Edit Scopes」を選択する。 新規に自分用スコープ(myscopeでもなんでも適当に)を作成し、 !file:.*/*&&!file:.*&&!file:…

PhpStormで「External file changes sync may be slow」のポップアップを抑止する

起動時に「External file changes sync may be slow」とかいうポップアップが出るのを抑止する External file changes sync may be slow Project files cannot be watched (are they under network mount?)

PhpStormでファイル一覧とアウトライン表示を同時に見る

PHPStormで、ファイル一覧(Project Files)とアウトライン表示(Structure PHP)を同時に見れるようにする ツールボタンを表示させる View⇒Tool Buttons にチェックを入れる ファイル一覧の左側に細いタブが増える アウトライン表示(Structure)をつかんで、…

list()

PHP

http://php.net/manual/ja/function.list.php

PHPDocで戻り値の無い関数のコメント

PHP

PHPはreturnのない関数の戻り値はNULLである。 PHP: 返り値 - Manual でもそれは言語仕様的な話で、戻り値が無いことを明示するときはvoidを使うらしい。 phpDocumentor: Types phpDocumentor: @return php - PHPDoc: @return void necessary? - Stack Overf…

Eclipseでペースト時にインデントを変更させない

PHP

Eclipseはコピーしてペーストすると勝手にインデントを修正してしまう。(そしてそのインデントは大抵 派手に狂っている) インデントを壊されないよう設定を変更する。

PHPでキャストをする

PHP

よく似てるけど違うクラスに無理やりキャストする関数 Redirecting...

PHPで文字列の論理積

PHP

PHP: ビット演算子 - Manual PHPで文字列同士を論理積すると、バイトごとのアスキーコードで論理積を取る。

abstract function 未実装時の挙動

PHP

eclipseでメンバ変数も補完できるようにする

PHP

Eclipseで変数名の補完とかする方法がとりあえず判明してきたので 今できてる分だけまとめる そもそもとして、javadocではなく、phpdocなので、javadocの便利タグはほとんど使えない。