Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Операции с многомерным массивом, Удалить строку с массива
dievalex  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42701
На форуме: 8 месяцев, 19 дней
Карма:




Добрый вечер всем.

новичок, пытаюсь учить php. есть задача удалить строку где лежит определенная переменная.
вот код

<?php

$catalog_main["0"] = array("id"=>"1", "name"=>"Иванов И.И.", "age"=>"25", "email"=>"ivanov@mail.ru");
$catalog_main["1"] = array("id"=>"2", "name"=>"Петров П.П.", "age"=>"34", "email"=>"petrov@mail.ru");
$catalog_main["2"] = array("id"=>"3", "name"=>"Сидоров С.С.", "age"=>"47", "email"=>"sidorov@mail.ru");


foreach ($catalog_main as &$value) {
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';
}


?>

он мне выводит сейчас все строки массива, мне бы хотелось чтобы он не выводил строку массива где имеется name=Петров П.П.

Прошу помощи как можно реализовать данную задачу?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




foreach ($catalog_main as $value) {
if ($value['name'] == 'Петров П.П.') {
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';
}
}
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5909
Пользователь №: 1
На форуме: 10 лет, 10 месяцев
Карма: 125

Не пью :
22 года, 3 месяца


Удалить из массива? unset();
Не выводить в цикле можно по условию:
Цитата (dievalex @ 17.03.2016 - 20:12)
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';

if($value['email'] != "Петров П.П.")
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dievalex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42701
На форуме: 8 месяцев, 19 дней
Карма:




Цитата (icedfox @ 17.03.2016 - 21:58)
foreach ($catalog_main as $value) {
if ($value['name'] == 'Петров П.П.') {
  echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';
}
}

В этом случае выводит только строку где есть name Петров П.П.
мне же нужно чтобы все строки но кроме где есть Петров П.П.

то есть результат должен быть

1 -Иванов И.И. - 25 - ivanov@mail.ru
3 -Сидоров С.С. - 47 - sidorov@mail.ru
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




dievalex
вам чуть выше ответили уже
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dievalex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42701
На форуме: 8 месяцев, 19 дней
Карма:




Цитата (FatCat @ 17.03.2016 - 21:59)
Удалить из массива? unset();
Не выводить в цикле можно по условию:
Цитата (dievalex @ 17.03.2016 - 20:12)
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';

if($value['email'] != "Петров П.П.")
echo $value['id'] . " -" . $value['name'] . " - " . $value['age'] . " - " . $value['email'] . '<br>';

нет удалить строку при выводе.. не в массиве, нужно добиться вот такого результата используя foreach

1 -Иванов И.И. - 25 - ivanov@mail.ru
3 -Сидоров С.С. - 47 - sidorov@mail.ru

Это сообщение отредактировал dievalex - 17.03.2016 - 22:11
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dievalex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42701
На форуме: 8 месяцев, 19 дней
Карма:




Все разобрался.. спасибо Вам большое smile.gif сам затупил
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 2 дня
Карма: 10




Поскольку ответ уже Вам дали. Добавлю лишь небольшое замечание, в догонку:
$catalog_main

слишком длинно..., со временем может превратится в такое:
$cat_main

... что в буквальном будет как "важный кот" ), от этого происходят головные боли иногда,
мой совет такой - старайтесь подбирать названия переменным из одного слова (по возможности). Например вот так:
$level, $standart, $plane, $category, $list, $catalog, $directory

и т.п., хотя это индивидуально все (бывает что и такое приемлемо $catalog_main_book ), но мозгу как то легче ориентироваться в однословных названиях, чем в многословных.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5909
Пользователь №: 1
На форуме: 10 лет, 10 месяцев
Карма: 125

Не пью :
22 года, 3 месяца


Цитата (casper - gg @ 17.03.2016 - 21:34)
$catalog_main_book

Месье знает толк в извращениях.
А я извращаюсь обычно так: $catalog['main']['book'] tongue.gif


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 2 дня
Карма: 10




Цитата (FatCat @ 18.03.2016 - 12:16)
А я извращаюсь обычно так: $catalog['main']['book'] 

это уже кому как нравится wink.gif , мне такой вариант тоже ближе.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Цитата (FatCat @ 18.03.2016 - 14:16)
$catalog['main']['book']

$catalog['main']['book']['page'] wink.gif
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса