-
PHPでajaxを使用して複数のデータを送信する
データは、JSONまたは通常のPOSTを介して送信できます。以下は、JSONを介して送信されたデータを示す例です- var value_1 = 1; var value_2 = 2; var value_3 = 3; $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "your_url_goes_here", data: { dat
-
PHPの何千もの値の配列に単一の値が存在するかどうかを最も効率的に確認するにはどうすればよいですか?
これを行う簡単な方法を以下に示します- if (array_flip($set)[$value] !== null) { echo "something"; //take some action } キーの数をカスタマイズするには、以下の方法で機能をカスタマイズできます- function array_keys_exists(array $keys, array $arr) { return !array_diff_key(array_flip($keys), $arr); }
-
16進数をHSLに変換するPHP関数
以下のコードを使用して、16進値をHSL値に変換できます- function hex_To_Hsl($hex) { $hex_val = array($hex_val[0].$hex_val[1], $hex_val[2].$hex_val[3], $hex_val[4].$hex_val[5]); $rgb_val = array_map(function($part) { return hexdec($part) / 255; }, $hex_val); &
-
PHPを使用したJSONLから配列への変換
json_decode関数は次のように使用できます- json_decode($json_string_that_needs_to_be_converted, true); 以下のコード行を使用して、JSONLを配列形式に変換できます- $json_string = '["[email protected]","[email protected]","[email protected]"]'; $array_of_data=json_decode($json_string); 別の方法は、json_stringの定義方法が変わる以下のコードを使用する
-
foreachPHPCodeigniter内のストアドプロシージャの呼び出し
ModelおよびController内のコードは、以下に示すコードを含むように変更する必要があります- 「コントローラー」の内部 $header = $this->model_name->call_head(); foreach($header as $item) { $name = $item['name']; $array['name'] = $name; $array['data'] = $item['data']; &n
-
0が渡された場合にphpのin_arrayがtrueを返すのはなぜですか?
in_arrayがTrueを返す理由は、文字列から数値への変換である可能性があります。文字列が関数に渡されると、検索する必要のある値である0が返されます。 PHPはルーズジャグリングを使用します。つまり、要素を比較するときに===の代わりに==を使用します。したがって、タイプではなく、それらの値が比較されます。 もう1つの理由は、型ジャグリングです。これは、変数型がコードのコンテキストで処理されることを意味します。 たとえば、float値が変数に割り当てられると、それは浮動小数点値になります。文字列が整数にキャストされたときのように動作します この種の動作を回避するために、3番目のパラ
-
PHP:\nのような「見えない」文字を表示する方法はありますか
addcslashes関数を使用できます。以下は関数の構文です- string addcslashes ( string $str, string $charlist ) この関数は、文字の前に円記号が付いた文字列を返します。以下は関数のデモンストレーションです。 例 <?php echo addcslashes('sample[ ]', 'A..z'); ?> 出力 これにより、次の出力が生成されます- \s\a\m\p\l\e\[ \]
-
PHPでメソッドをチェーンするにはどうすればよいですか?
ミューテイタメソッドは、メソッドをチェーンするために使用できます。これらのメソッドは元のオブジェクトを返し、ミューテイタ関数によって返されるこれらのオブジェクトに対して他のメソッドを呼び出すことができます。 例 以下は、同じことを示す簡単な例です- <?php class sample_class { private $str; function __construct() { $this->str = ""; }
-
PHPで__dir__を使用する方法は?
__DIR__を使用して、現在のコード作業ディレクトリを取得できます。これは、バージョン5.3以降のPHPで導入されました。これは、dirname(__ FILE__)を使用するのと似ています。通常、インクルードされたファイルに存在する他のファイルをインクルードするために使用されます。 次のディレクトリ構造を検討してください- 「master」という名前のディレクトリ。「worker_1」と「worker_2」という名前の2つのファイルがあります。マスターディレクトリ自体は、メインプロジェクトディレクトリのサブフォルダです。 プロジェクトディレクトリには、index.phpファイルも含ま
-
PHP SOAPとNuSOAPのどちらが優れていますか?
PHP SOAPは、PHPバージョン5.0.1から利用できるようになりました。まだPHP4を使用しているユーザーは、NuSOAPを使用する必要があります。 ネイティブPHPコードは、パフォーマンスの点で優れており、比較的バグがありません。したがって、利用可能な場合はPHPSOAPを使用することをお勧めします。 一方、NuSOAPの公式ウェブサイトにも多くのドキュメントがありません。 NuSOAPの優れた機能 いくつかの事前定義されたメソッドが付属していますが、Soapの場合は自分で作成する必要があります。 SOAPのパフォーマンスメトリックは、サーバーの応答時間です。 Nusoapでは
-
phpMyAdminを使用して外部サーバーに接続します
以下のコード行は、下部の/etc/phpmyadmin/config.inc.phpファイルに追加できます- $i++; $cfg['Servers'][$i]['host'] = 'HostName:port'; // hostname and port are provided if they are not default values $cfg['Servers'][$i]['user'] = 'userName'; //user name for the remote server $
-
PHPメール関数のReturn-Pathを変更する
返信パスと返信パスは、以下に示すようにヘッダーに配置できます- $headers = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'Return-Path: [email protected]' それ以外の場合は、リターンパスを変更するための5番目のパラメーターとして渡すことができます- mail($to, $subject, $message, $headers, "-f em
-
簡単に編集可能な構成データをPHPに保存する最速の方法は?
PHP変数を格納するには、JSONと比較してシリアル化の方が優れています。 var_exportを使用して構成ファイルを保存し、「include」を使用して構成ファイル情報をロードできます。 これは、構成データをプログラムで保存する簡単な方法であり、読み取り/書き込みが簡単です。以下は同じ-のサンプルコードです config.php return array( 'var_1'=> 'value_1', 'var_2'=> 'value_2', ); test
-
どちらが速いですか? PHPの定数、変数、または変数配列?
PHPの定数は、「define」関数を使用して定義されます。 PHPではかなり遅いです。 コードのパフォーマンスを向上させるために拡張機能(hidefなど)が作成された場合があります。 これは、何千もの定数があるときに明らかになります。 PHPバージョン5.3以降、const NAME=VALUEを使用したコンパイル時定数。使用することもできます。比較的高速です。
-
phpを含むファイルを別のphpサーバーにアップロードする
fopen、fread、およびfwrite関数を使用して、ファイルストリームを開き、データストリームを読み取り、そのデータをファイルに書き込むことができます。 ファイルリソースは、必ずしもローカルマシン自体の場所を指している必要はありません。 以下は、ローカルサーバーからftpサーバーにファイルを転送する例です- $file = "file_name.jpg"; $destination = fopen("ftp://username:[email protected]/" . $file, "wb"); $source =
-
PHPで実行時に関数を削除するにはどうすればよいですか?
PHPの関数とクラスには、グローバルスコープがあります。これは、スコープ内で定義された後でも、関数の外部で呼び出される可能性があることを意味します。 ただし、PHPは関数のオーバーロードをサポートしておらず、以前に宣言された関数を再定義することはできません。 関数は無名関数として定義でき、実行の完了後に設定を解除できます。 以下は同じ-のコードサンプルです if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) $my_fn = create_
-
PHP 7の匿名クラス?
PHP 7の匿名クラスは、新しいクラスを使用して定義できます。完全なクラス定義の代わりに使用することもできます。なぜ匿名クラスを使用するのですか? モックテストは簡単です。 インターフェースの動的な実装を簡単に作成できるため、複雑なモックAPIの使用を回避できます。 それらは、定義されたスコープに配置できます。 単純な実装のためのオートローダーの使用を回避できます。 例 以下はコードサンプルです- <?php interface a_logger { public function log(string $msg); } class App {
-
PHPの文字列キャストとstrval関数、どちらを使用すればよいですか?
(string)castまたはstrval()関数を使用して、値を文字列に変換できます。 strval()関数は関数呼び出しですが、(string)castは内部型キャストメソッドです。 特定のデータセットまたはユースケースがない限り、これらは両方とも交換可能に使用できます。 これは、PHPが自動型変換を使用しているためです。これにより、変数の型は、使用されているコンテキストに基づいて決定されます。 strval($ var)関数は$ varの文字列値を返しますが、(string)$varは評価プロセス中に$varの「タイプ」を明示的に変換します。 $ varは、任意のスカラー型また
-
PHPで500MBを超える大きなファイルをアップロードするにはどうすればよいですか?
大きなファイルは、PHPを使用して2つの方法でアップロードできます。両方について以下で説明します- php.iniファイルのupload_max_filesize制限を変更する。 ファイルチャンクアップロードを実装することにより、アップロードが小さな部分に分割され、アップロードが完了したときにこれらの部分が組み立てられます。 php.iniファイルは以下のように更新できます- upload_max_filesize = 50M post_max_size = 50M max_input_time = 300 max_execution_time = 300 サーバーや他のプロジェクトの
-
PHPで正規表現を使用して文字列を文に分割する
例 function sentence_split($text) { $before_regexes = array('/(?:(?:[\'\"„][\.!?…][\'\"”]\s)|(?:[^\.]\s[A-Z]\.\s)|(?:\b(?:St|Gen|Hon|Prof|Dr|Mr|Ms|Mrs|[JS]r|Col|Maj|Brig|Sgt|Capt|Cmnd|Sen|Rev|Rep|Revd) \.\