Как удалить элемент массива?

InstantCMS 2.X

unset()

#1 7 ноября 2025 в 11:52

Доброго дня!

Постараюсь быть кратким. Почему эта конструкция работает:

  1. <?php
  2. unset($fields['test']);
  3. foreach($fields as $field) {
  4. ?>
  5. <div class="f_field">
  6. В массиве больше нет элемента test.
  7. </div>
  8. <?php } ?>

А эта конструкция не работает. И как правильно удалить элемент из массива в данном случае?

  1. <?php
  2. unset($fields['test']);
  3. foreach($datasets as $dataset) {
  4. foreach($dataset['fields'] as $field) {
  5. ?>
  6. <div class="f_fields">
  7. Элемент test не удален из массива.
  8. </div>
  9. <?php } } ?>

Мне просто не хватает знаний и опыта. Я пытался найти ответ в интернете, но видимо не правильно формулирую вопрос.

Я пробовал по-разному:

  1. <?php
  2. foreach($datasets as $dataset) {
  3. unset($dataset['fields']['test']);
  4. foreach($dataset['fields'] as $field) {
  5. } ?>
  6. <div class="f_fields">
  7. Элемент test не удален из массива.
  8. </div>
  9. <?php } } ?>

Не получается.

Благодарю.

#2 7 ноября 2025 в 11:54
  1. foreach($datasets as $dataset) {
  2. unset($dataset['fields']['test']);
  3. foreach($dataset['fields'] as $field) {
  4.  
  5. }
  6. }
#3 7 ноября 2025 в 12:09

 Fuze, к сожалению, как я и писал, не работает. Не знаю почему. Но хотя бы логика у меня была верная.

Сегодня в 22:57
#4 7 ноября 2025 в 12:25

Сделайте так

  1. foreach($datasets as $dataset) {
  2. dump($dataset['fields'], false);
  3. foreach($dataset['fields'] as $field) {
  4.  
  5. }
  6. }

B посмотрите, что у вас лежит в $dataset['fields'], возможно там массив без ключей типа 'text'.

#5 7 ноября 2025 в 12:27

 iDrevniy, а так?

  1. <?php
  2. foreach($datasets as &$dataset) {
  3. unset($dataset['fields']['test']);
  4. foreach($dataset['fields'] as $field) {
  5. ?>
  6. <div class="f_fields">
  7. Элемент test удален из массива!
  8. </div>
  9. <?php
  10. }
  11. }
  12.  
  13. unset($dataset);
  14. ?>
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.