PHP では、文字列と配列が一般的なデータ型です。場合によっては、データをより適切に処理するために、文字列をオブジェクトの配列に変換する必要があります。この変換を行うのに役立つサンプル コードをいくつか示します。
まず、文字列を連想配列に変換する方法を見てみましょう。これは、文字列関数 explode()
と foreach
ループを使用して実現できます。
以下に示すように、各フィールドがキーと値のペアに対応するカンマ区切りの文字列があるとします。
$str = "name:John,age:30,city:New York";
次に、次のコードを使用して、それを連想配列に変換します。 ##
$array = array(); $tmp = explode(",",$str); foreach ($tmp as $value) { list($key,$val) = explode(":",$value); $array[$key] = $val; }上記のコードでは、まず
explode() 関数を使用して文字列を複数のフィールドに分割します。次に、
foreach ループを通じて各フィールドを再度分割し、キーと値を取得します。最後に、これらのキーと値のペアを新しい連想配列に挿入します。
json_decode() 関数を使用して文字列をオブジェクトに変換できます。
$str = '[{"name":"John","age":18},{"name":"Mary","age":19},{"name":"Tom","age":20}]';次に、次のコードを使用して、それをオブジェクトの配列に変換します。
class Student { public $name; public $age; } $array = json_decode($str); $result = array(); foreach ($array as $obj) { $stu = new Student(); $stu->name = $obj->name; $stu->age = $obj->age; $result[] = $stu; }上記のコードでは、まず
Student クラスを定義し、各生徒の名前と年齢を表す 2 つの
public 属性を定義します。
json_decode() 関数を使用して、JSON 文字列を PHP オブジェクトに変換します。次に、
foreach ループを使用して各オブジェクトを反復処理し、オブジェクトごとに新しい
Student インスタンスを作成し、そのプロパティをオブジェクトのプロパティに設定します。最後に、各生徒オブジェクトを新しい配列に挿入します。
以上がPHPで文字列をオブジェクト配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。