PHP では、変数は非常に重要な概念です。変数を使用すると、さまざまな種類のデータを保存および操作できます。場合によっては、後続の操作を容易にするために、特定のデータ形式を PHP 変数に変換する必要があります。以下では、いくつかの一般的なデータ形式と、それらを PHP 変数に変換する方法について説明します。
JSON は、Web アプリケーションで非常に一般的なデータ交換形式です。 JSON 文字列を PHP 変数に変換する必要がある場合は、 json_decode() 関数を使用できます。この関数は、JSON 文字列を PHP 配列またはオブジェクトに変換できます。たとえば、次の JSON 文字列があるとします。
{ "name": "John", "age": 30, "hobbies": ["reading", "swimming", "yoga"] }
次のコードを使用して、それを PHP 配列に変換できます。
$json_str = '{"name": "John", "age": 30, "hobbies": ["reading", "swimming", "yoga"]}'; $data = json_decode($json_str, true); print_r($data);
出力結果:
Array ( [name] => John [age] => 30 [hobbies] => Array ( [0] => reading [1] => swimming [2] => yoga ) )
If 2 番目のパラメーターが false で渡されるか省略された場合、JSON 文字列は PHP オブジェクトに変換されます。
XML も、一般的に使用されるデータ交換形式です。 XML 文字列を PHP 変数に変換する必要がある場合は、SimpleXML 拡張機能を使用できます。 SimpleXML は、XML を解析して PHP オブジェクトまたは配列にできる単純な API セットを提供します。たとえば、次の XML 文字列があるとします。
<person> <name>John</name> <age>30</age> <hobbies> <hobby>reading</hobby> <hobby>swimming</hobby> <hobby>yoga</hobby> </hobbies> </person>
次のコードを使用して、これを PHP オブジェクトに変換できます。
$xml_str = '<person><name>John</name><age>30</age><hobbies><hobby>reading</hobby><hobby>swimming</hobby><hobby>yoga</hobby></hobbies></person>'; $xml_obj = simplexml_load_string($xml_str); print_r($xml_obj);
出力結果:
SimpleXMLElement Object ( [name] => John [age] => 30 [hobbies] => SimpleXMLElement Object ( [hobby] => Array ( [0] => reading [1] => swimming [2] => yoga ) ) )
Ifこれを PHP 配列に変換するには、 json_decode() 関数を使用して SimpleXML オブジェクトを JSON 文字列に変換し、次に json_decode() 関数を使用して JSON 文字列を PHP 配列に変換します。
CSV は、汎用のデータ保存および交換形式です。 CSV ファイルを PHP 変数に変換する必要がある場合は、 fgetcsv() 関数を使用してファイルの内容を 1 行ずつ読み取り、各行を PHP 配列に解析します。たとえば、次の CSV ファイルがあるとします。
name,age,hobbies John,30,reading|swimming|yoga
次のコードを使用して、それを PHP 配列に変換できます。
$filename = 'data.csv'; $data = array(); if (($handle = fopen($filename, "r")) !== false) { $headers = fgetcsv($handle); while (($row = fgetcsv($handle)) !== false) { $values = explode('|', $row[2]); $row[2] = $values; $data[] = array_combine($headers, $row); } fclose($handle); } print_r($data);
出力結果:
Array ( [0] => Array ( [name] => John [age] => 30 [hobbies] => Array ( [0] => reading [1] => swimming [2] => yoga ) ) )
URL クエリ文字列は、データ送信の一般的な方法です。 URL クエリ文字列を PHP 変数に変換する必要がある場合は、parse_str() 関数を使用してそれを PHP 配列に解析できます。たとえば、次の URL クエリ文字列があるとします。
name=John&age=30&hobbies[]=reading&hobbies[]=swimming&hobbies[]=yoga
次のコードを使用して、これを PHP 配列に変換できます。
$query_str = 'name=John&age=30&hobbies[]=reading&hobbies[]=swimming&hobbies[]=yoga'; parse_str($query_str, $data); print_r($data);
出力結果:
Array ( [name] => John [age] => 30 [hobbies] => Array ( [0] => reading [1] => swimming [2] => yoga ) )
上記のすべて 上で述べたように、どのような種類のデータを PHP 変数に変換する必要がある場合でも、PHP が提供する組み込み関数と拡張機能を使用して、それを簡単に実現できます。
以上がPHPを変数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。