PHP

[PHP]xml_get_current_byte_indexとは?XML解析中の現在位置をバイト単位で取得する方法を徹底解説

はじめに前回の記事では、XMLパーサーのエラーコードを人間が読める文字列に変換する xml_error_string() を解説しました。今回紹介する xml_get_current_byte_index() は、同じくExpatベースのX...
PHP

[PHP]xml_error_stringとは?XMLパーサーのエラーコードを人間が読める文字列に変換する方法を徹底解説

はじめにPHPの標準XMLパーサー(Expatベースの xml_parser_create() などで構成される一連の関数群)を使ってXML文書を解析していると、不正な形式のXMLに遭遇して解析が失敗することがあります。このとき、xml_g...
PHP

[PHP]wordwrapとは?長い文字列を指定幅で折り返す方法を徹底解説

はじめに長いテキストをコンソール画面やメール本文、固定幅のレイアウトに表示する際、「1行あたりの文字数を一定の範囲に収めたい」という場面はよくあります。ブラウザ上のHTML表示であればCSSの word-wrap や overflow-wr...
PHP

[PHP]vfprintfとは?配列引数でファイルやストリームへ書式付き出力する方法を徹底解説

はじめにこれまでの記事で、配列を使ってフォーマット出力を行う vprintf()(直接出力)と vsprintf()(文字列を返す)を解説してきました。今回紹介する vfprintf() は、この2つとよく似ていますが、出力先を任意のファイ...
PHP

[PHP]vsprintfとは?配列引数でフォーマット済み文字列を生成する方法を徹底解説

はじめに前回の記事では、配列を使ってフォーマット出力を直接行う vprintf() を解説しました。今回紹介する vsprintf() は、その兄弟関数にあたり、画面に直接出力するのではなく、フォーマット済みの文字列を戻り値として返すという...
PHP

[PHP]vprintfとは?配列引数でフォーマット出力を行う方法を徹底解説

はじめにPHPで書式付きの文字列を出力する際、printf() はおなじみの関数です。しかし、printf("名前: %s, 年齢: %d", $name, $age) のように、埋め込む値の数が実行時まで分からない場合や、既に配列としてデ...
PHP

[PHP]version_compareとは?バージョン番号を正しく比較する方法を徹底解説

はじめにソフトウェア開発において「バージョン1.10」と「バージョン1.9」のどちらが新しいかを比較したい場面は数多くあります。単純な文字列比較("1.10" < "1.9")や数値変換では、"1.10" が "1.9" より小さいと誤判定...
PHP

[PHP]var_exportとは?変数をPHPコードとして出力・再利用する方法を徹底解説

はじめに前回の記事では、変数の中身を型情報付きで詳細表示する var_dump() を解説しました。今回紹介する var_export() は、似たような目的で使われることもありますが、決定的に異なる特徴を持っています。それは、出力結果がそ...
PHP

[PHP]var_dumpとは?変数の型と中身を正確にデバッグ表示する方法を徹底解説

はじめにPHPでコードを書いていて、「この変数、今どんな値が入っているんだろう?」と確認したくなる場面は数え切れないほどあります。単純に echo で出力しようとしても、配列やオブジェクトはそのままでは表示できませんし、値が null なの...
PHP

[PHP]udm_api_versionとは?廃止されたmnoGoSearch拡張のバージョン確認関数を解説

はじめにこれまでの記事で、mnoGoSearch検索エンジンとの連携用関数である udm_add_search_limit() と udm_alloc_agent() を取り上げ、いずれもPHP 5.1.0で本体から削除されていることを紹介...