質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PHP

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

Q&A

解決済

1回答

1180閲覧

php.iniの0と"0"とoffの違いは?

pantomaimu

総合スコア1

PHP

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

0グッド

0クリップ

投稿2021/11/24 14:04

php.iniを書くためぐぐると、mbstring.encoding_translation = Offと書かれているものがよく見受けられます。
一方公式の https://www.php.net/manual/ja/mbstring.configuration.php を見るとデフォルト値が"0"と書かれています。
これはphpのプログラムでの"0"と同じくfalseと解釈されるのでしょうか?
もしそうであるならば、以下の書き方はどれも有効で、AはOn、BはOffの意味で捉えられるという事でしょうか?

・A

mbstring.encoding_translation = "1" mbstring.encoding_translation = "1000" mbstring.encoding_translation = 1000 mbstring.encoding_translation = On mbstring.encoding_translation = true

・B

mbstring.encoding_translation = "0" mbstring.encoding_translation = 0 mbstring.encoding_translation = Off mbstring.encoding_translation = false

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php.ini一番上の方に書いてあるのは:

ini

1; Boolean flags can be turned on using the values 1, On, True or Yes. 2; They can be turned off using the values 0, Off, False or No.

セティングがbooleanの場合は上記の値しか使えません。
文字列に設定した場合どう処理するかは各モジュール次第だと思います。

投稿2021/11/24 14:28

skys215

総合スコア910

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pantomaimu

2021/11/24 15:45

ありがとうございます! php.iniの上部のコメントに書いてあったんですね。 モジュール次第というのはどういう意味なんでしょうか? php7かphp8のようなバージョン違いで処理が違う可能性があるよ位の意味なのでしょうか? それとも、phpではバージョンに関わらず処理が統一されているだろうが、Apache、ACPuみたいな拡張モジュールでは処理が違う場合があるよって事なのでしょうか? どちらにせよ、php.iniに"0"について言及されていないという事は避けるべきな気がするんですが、公式HPでデフォルト値として書いてあるのが気になってしまって。 https://www.php.net/manual/ja/ini.list.php 見る限り、同じ意味のはずなのにデフォルト値が"0"で書かれたりOffで書かれたり書き方が統一されていないので公式HPが適当なのかもしれませんが・・・。
skys215

2021/11/24 22:45

モジュール次第というのはPHPの拡張モジュールのことです。 オフィシャルモジュールだと"0"はFalseと処理するかもしれないけど、その他のモジュールだと"0"を文字の0と処理する可能性があります。 php.iniをパースするのphp自身じゃないけど、もしphpでパースする場合は、parse_ini_stringのオプションパラメーターでパースの仕方を帰られます。 https://www.php.net/manual/ja/function.parse-ini-string.php
pantomaimu

2021/11/25 09:58

自分でiniファイルを必要とするプログラムを作成する場合は parse_ini_file などと合わせて使えそうですね。 ただ、これ使ってみると「"0"、0はstringの”0"」に、「Off、No、Falseはstringの""」になって結果が異なってしまうのでやはりphp.iniのデフォルトのパースとは異なっているのでしょうかね・・・。 取り敢えずphp.iniに書く場合は脳死で数字の0採用しておきます。 有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問