ホームページ  >  記事  >  バックエンド開発  >  PHP配列削除オブジェクト

PHP配列削除オブジェクト

PHPz
PHPzオリジナル
2023-05-07 17:15:10495ブラウズ

PHP プログラミングでは、配列とオブジェクトは最も一般的に使用されるデータ型の 1 つです。オブジェクトを含む配列を元のデータのみを含む配列に変換する必要がある場合がありますが、この場合は配列からオブジェクトを削除する必要があります。この記事では、PHP で配列からオブジェクトを削除する方法を紹介します。

  1. array_map 関数の使用

array_map 関数は、配列内の各要素に関数を適用して、新しいアレイ。オブジェクトを含む配列の場合、array_map 関数を使用して、各オブジェクトを元のデータ型に変換する関数を適用できます。例:

function object_to_array($obj) {
    return (array) $obj;
}

$arr = array(
    (object)array("name"=>"Tom","age"=>18),
    (object)array("name"=>"Jerry","age"=>20),
);

$new_arr = array_map("object_to_array",$arr);
print_r($new_arr);

上記のコードでは、オブジェクトを配列に変換する object_to_array 関数を定義します。次に、array_map 関数を使用して、この関数を元の配列 $arr に適用し、新しい配列を返し、それを $new_arr 変数に保存します。最後に、print_r 関数を使用して、変換された配列を出力します。

  1. json_decode 関数と json_encode 関数を使用する

PHP の json_decode 関数は、JSON 形式のデータを PHP 配列またはオブジェクトに変換できます。 json_encode 関数は、PHP 配列またはオブジェクトを JSON 形式のデータに変換できます。したがって、まず json_encode 関数を使用してオブジェクトを含む配列を JSON 形式のデータに変換し、次に json_decode 関数を使用してプリミティブ データ型のみを含む配列に変換します。例:

$arr = array(
    (object)array("name"=>"Tom","age"=>18),
    (object)array("name"=>"Jerry","age"=>20),
);

$json = json_encode($arr);
$new_arr = json_decode($json,true);

print_r($new_arr);

上記のコードでは、まず json_encode 関数を使用して配列 $arr を JSON 形式のデータに変換し、 に保存します。 $jsonVariable を取得し、json_decode 関数を使用して配列に変換し、$new_arr 変数に格納します。最後に、print_r 関数を使用して、変換された配列を出力します。

  1. イテレータの使用

PHP の ArrayIterator クラスは配列をイテレータに変換でき、メソッド getArrayCopy を使用できます。 プリミティブ データ型のみを含む配列に変換します。例:

$arr = array(
    (object)array("name"=>"Tom","age"=>18),
    (object)array("name"=>"Jerry","age"=>20),
);

$iterator = new ArrayIterator($arr);
$new_arr = $iterator->getArrayCopy();

print_r($new_arr);

上記のコードでは、ArrayIterator クラス $iterator のインスタンスを作成し、配列 $arr を渡します。それ 。次に、getArrayCopy メソッドを使用してプリミティブ データ型の配列に変換し、$new_arr 変数に保存します。最後に、print_r 関数を使用して、変換された配列を出力します。

要約すると、上記の 3 つの方法を使用して、PHP の配列からオブジェクトを削除できます。特定の用途では、実際のニーズに応じて適切な方法を選択できます。

以上がPHP配列削除オブジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。