Есть ли способ удалить определенные объекты и их значения из массива, кроме использования array_splice?

#php #arrays #laravel

#php #массивы #laravel

Вопрос:

Я пытаюсь удалить значения для «email» и «phone_number» из моего массива, прежде чем я смогу отправить его, как в моем mssql, я не сохраняю там эту информацию. Однако, сколько я ни искал в Интернете, единственный способ сделать это — использовать array_splice . Есть ли другой способ сделать это?

Это будет мой массив :

 array:10 [
  "full_name" => "Prawn life"
  "address_city_id" => "173"
  "address_province_id" => "21"
  "address_district_id" => "4"
  "address_details" => "blah blah"
  "address_line_2" => "line 2"
  "address_postcode" => "40100"
  "email" => "test@gmail.com"
  "phone_number" => "12412455"
  "updated_at" => Carbon @1555379266 {#366
    date: 2019-04-16 01:47:46.113906 UTC ( 00:00)
  }
]
  

Ответ №1:

unset твой друг:

 unset($array['email'], $array['phone_number']);
  

Комментарии:

1. привет, Джозеф, спасибо за быстрый ответ! И да, это работает! Я никогда не знал, что существует unset : O. Еще раз спасибо!

2. @UdhayanNair обратите внимание, что на самом деле вы можете отменить несколько значений одним вызовом unset .

3. привет, спасибо, приятель. еще один вопрос, не уверен, уместно ли его задавать здесь, но я попробую. итак, у меня есть массив: array:9 [▼ "_token" => "nz8LHJ5iXmizAKZdnzlPMyH8ou6MIxOOBEd3WkdL" "quiz_id" => "38" "question" => "Alternator #1" "question_native" => "Alternator #1" "quiz_content_83" => "yes" "radio-group8" => "radio-group8_83" "quiz_content_84" => "f22" "quiz_content_85" => "nooo222" "quiz_img_84" => UploadedFile {#403 ▶} ] можно ли проверить, существует ли объект «quiz_img_84»? например, мне нужна перекрестная проверка «quiz_img_83» и «quiz_img_85», но они не существуют.

4. Отдельные вопросы следует задавать как отдельные вопросы.

Ответ №2:

unset следует выполнять такую работу, как

 <?php
$arr = [
  "full_name" => "Prawn life",
  "address_city_id" => "173",
  "address_province_id" => "21",
  "address_district_id" => "4",
  "address_details" => "blah blah",
  "address_line_2" => "line 2",
  "address_postcode" => "40100",
  "email" => "test@gmail.com",
  "phone_number" => "12412455",
    ];
unset($arr['email']);
unset($arr['phone_number']);
var_dump($arr);

?>
  

вывод

 array(8) { ["full_name"]=> string(10) "Prawn life" ["address_city_id"]=> string(3) "173" ["address_province_id"]=> string(2) "21" ["address_district_id"]=> string(1) "4" ["address_details"]=> string(9) "blah blah" ["address_line_2"]=> string(6) "line 2" ["address_postcode"]=> string(5) "40100"}
  

Комментарии:

1. привет, Прафулла! Спасибо за быстрый ответ! Да, unset работает нормально! Еще раз спасибо!

2. @UdhayanNair Я рад, что это помогло вам.