目立たない小さなトリックだと言われていますが、実際には、それを知っていることと、それを使用できることは別のことです。マスターになるには、しっかりとした基本スキルが必要です
php -r 'echo str_repeat("ABC",5) に基づいて文字列を繰り返し出力します。 ),"n" ;'
ABCABCABCABCABC
substr
これは、文字列の最初の文字をインターセプトするなど、文字デバイスをインターセプトするために使用されます:
$string = 'abcdefg'
substr($ string,0,1 ) で a を取得しましたが、今では $string[0] を使用することに慣れています。文字列の長さが 7 かどうかを判断する場合は、代わりに Isset($string[6]) が使用されます。同様に、isset は strlen よりも速いと言われているため、この経験は
trim
trim を使用すると、先頭と末尾の空白と末尾の改行を削除するのに時間がかかりました。これを行うように特別に設計されているため、%
trim('%abcdef%',' など) の先頭と末尾にある不要な文字を削除するためのパラメーター リストも受け入れることができるとは予想していませんでした。 '%abcdef%' を削除するには %' )
Continue
このツールを長い間使ってきた後、ある時ジャンプしたいと思うまでは、パラメーターがないと思っていました。 3 レベルのループから...
ini_set
ネットワーク接続に基づいてプログラムを作成する場合、耐障害性を考慮してソケットのタイムアウトを設定する必要があります。php.ini で定義されているデフォルトの時間は 60 です。
; ソケットベースのストリームのデフォルトのタイムアウト (秒)
; http://php.net/default-socket-timeout
default_socket_timeout = 60
PHP マニュアルでは、ini_set を使用して設定を変更できます。
ini_set('default_socket_timeout',6 );
新しく発見した関数を使用するとき、私の習慣は次のとおりです:
var_dump(ini_set('default_socket_timeout',6));
実行結果プロンプト:
string(2) "60"
えっ?いくつかのマシンで試してみましたが、同じことが起こりました。どうすればよいでしょうか。ようやく問題が見つかりました。PHP マニュアルには次のように書かれています。 php で書かれています。php を更新するために、nginx に新しいログを再生成するよう通知します。私が使用した N 台のマシンでは、この関数は正常に動作しました。友人に、マシンは次のように報告しました: 警告: posix_kill() はパラメーター 2 が長く、指定された文字列であることを期待しています 関数のプロトタイプを見てください: bool posix_kill (int $pid, int $sig) 2 番目のパラメーターは次のようにする必要があります私のマシンの SIGUSR1 が動作しないのはなぜですか? 私の PHP バージョンが私のマシンよりも高いのですが、SIGUSR1 に対応する int 値を見つけるために長い間オンラインで検索しました。 、しかし、見つかりませんでした。最後に、kill コマンドを調べましたが、意図的ではありませんでした。kill -l と入力して、取得しました。 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG17) SIGSTOP 18) 19) シグコント 20) SIGCHLD21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH29) SIGINFO 30) SIGUSR1 31) SIGUSR2
上記はMacの場合ですが、 Linux の SIGUSR1 の対応する値は実際には異なります。言葉を失います。 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR31 ) SIGSYS 34) SIGRTMIN 35 ) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+338) SIGRTMIN+4 39) RTMIN+ 5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX -11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-758 ) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX 異なるシステムを同時にサポートしたい場合はどうすればよいですか?判断として、php には PHP_OS というアーティファクトがあります。