[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: определить элемент массива по его значению
gletscherl
подскажите пожалуйста, как найти элемент массива по его значению и удалить этот элемент?
например:
PHP
$_USER[]=("log");
$_USER[]=("faf");
$_USER[]=("prise");
$_USER[]=("glet");
$_USER[]=("heat");
$_GET['delete'] ;
//- имеет текстовое значение одного из элемента массива, например "prise"
//как мне удалить элемент массива со значением "prise" и узнать его номер?





Спустя 7 минут, 24 секунды (26.05.2009 - 13:51) stepan написал(а):
Как номер найте я незнаю, вот как найти подходящий элемент, тебе надо по новой прокрутить весь массив и сравнить со значением $_GET['delete']
То есть на подобе
PHP
$x=0;
while(isset(
твой массив[$x])){
if(
твой массив[$x]==$_GET['delete']){
unlink(путь до файла);
}
$x++
}

Спустя 4 минуты, 52 секунды (26.05.2009 - 13:56) gletscherl написал(а):
а можно узнать, зачем unlink и путь к файлу?

Спустя 4 минуты, 29 секунд (26.05.2009 - 14:00) stepan написал(а):

Спустя 1 час, 33 минуты, 38 секунд (26.05.2009 - 15:34) FatCat написал(а):
PHP
function delete_array_element($old_array$value){
    
$x=0;
    
$new_array=Array();
    while(isset(
$old_array[$x])){
        if(
$old_array[$x]==$value)$deleted $x+1;
        else 
$new_array[]=$old_array[$x]
        
$x++
    }
    return array(
$new_array$deleted);
}

$to_print delete_array_element($_USER$_GET['delete']);

$new_array $to_print[0]; // Массив, элемент удален.
$deleted $to_print[1]; // Порядковый номер удаленного элемента.

Спустя 48 минут, 39 секунд (26.05.2009 - 16:22) glock18 написал(а):
Не понимаю почему все стараются сделать все на "сишный манер"...

PHP
function DeleteArrayElement($array$value)
{
    while (
$key array_search($value$array))
        unset(
$array[$key]);

    return 
$array;
}


или так

PHP
function DeleteArrayElement(&$array$value)
{
    while (
$key array_search($value$array))
        unset(
$array[$key]);
}


как угодно.

Спустя 26 минут, 17 секунд (26.05.2009 - 16:49) gletscherl написал(а):
большое спасибо всем ,кто помогал

Спустя 7 часов, 20 минут, 36 секунд (27.05.2009 - 00:09) Alchemist написал(а):
Люди, ну, блин, ну, честное слово !!! Ну проверяйте же код, прежде чем постить ! Люди сюда за советами приходят, а вы их только путаете...

glock18, вот тебе массив, удали пожалуйста с помощью одной из своих функций значение "figvam".

PHP
$v = array('figvam','izba','hata','villa');

Спустя 1 час, 52 минуты, 9 секунд (27.05.2009 - 02:01) jetistyum написал(а):
Цитата (Alchemist @ 27.05.2009 - 00:09)
Люди, ну, блин, ну, честное слово !!! Ну проверяйте же код, прежде чем постить ! Люди сюда за советами приходят, а вы их только путаете...

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

а если что-то не работает, но дк.. моск включи и исправь.. (к тому, у кого не работает) копипастеры это, или программисты.

Спустя 7 часов, 40 минут (27.05.2009 - 09:41) glock18 написал(а):
Ну вообще то, я с jetistyum в этом на все 100% согласен.

Ну бывает, и такое

PHP
function DeleteArrayElement($array$value)
{
    while ((
$key array_search($value$array)) !== FALSE)
        unset(
$array[$key]);

    return 
$array;
}


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

Хотя, конечно, спасибо за поправку.

Спустя 3 часа, 16 минут, 6 секунд (27.05.2009 - 12:58) Alchemist написал(а):
Ребят, какое "исправь" ? Вы говорите о людях, которые echo 'Hello world!' с ошибками пишут. Им бы со своими ошибками справиться, а не ваши (гораздо более труднонаходимые) разыскивать...

неужели так трудно скопипастить код в редактор/файл и запустить пару прогонов ?

Спустя 48 минут, 42 секунды (27.05.2009 - 13:46) jetistyum написал(а):
Если бы я работал на этом форуме, зарплату получал, вероятно было бы не сложно, может быть так же не сложно тем, у кого нет других занятий.
А если человекам, котрые не могут хеллловорлд написать давать все разжеваное, то они так и не смогут никогда написать хелловорлд. Поразбиравшись один раз с вылавниванием багов в коде, человек получит куда более полезный опыт, нежели если просто скопипастит работающий код, и тут же задаст вопрос о том, как написать следующий участок программы, а фактически попросит его у тебя..
и так и будет это продолжаться,
а напишите мне то, а потом напишите мне се, а дальше напишите.
и дело скорее даже в том, что код нужен не мне, а какому-то другому человеку, ну так почему на код для него я должен потратить больше времени, чем он сам?
Ты по-прежнему со мной не согласен, Alchemist?

Спустя 45 минут, 58 секунд (27.05.2009 - 14:32) glock18 написал(а):
2 Alchemist:
"Чтобы помочь голодному, дай ему не рыбу, а сеть для ловли рыбы".

То о чем ты говоришь тоже помощь, но она не научит никого программировать, а научит только copy-paste'ить чужой код. Лично я не думаю, что так можно помочь человеку стать php программистом, а потому не думаю, что такую помощь здесь бесплатно предлагать всем во вред.

1. Если человек хочет писать на php - пусть учится. Помочь, подтолкнуть - пожалуйста.

2. Если человек хочет по-быстрому сделать че-то и забыть - пусть платит программисту, и тот ему сделает.

2jetistyum: Думаю, все равно каждый при своем мнении останется.

Каждый по-своему прав. Но эти мнения настолько различны, что придерживаясь одного каждый из не может признать второе.

Спустя 9 часов, 45 минут, 29 секунд (28.05.2009 - 00:18) Alchemist написал(а):
Ребят, вы напоминаете мне старую шутку: "Абрам Моисеич, вы либо крестик снимите, либо трусы оденьте..."

Я безусловно и полностью согласен, что человека надо учить, а не давать ему готовое. Именно поэтому я почти никогда не пишу тут готовых решений, а только подсказки. И все ваши тезисы я поддержу обеими руками.

Проблема в том, что glock18 как раз и написал готовое решение. И это решение - неверное.

Представьте такой вариант: сосед приходит к вам и говорит: "Дай мне свой велик, до магазина съездить, а то мой сломался." Вы говорите: "нет проблем" и даете ему велосипед. Он садится на него и обнаруживает, что тот не едет. А на его удивленный взгляд вы заявляете: "Почини и езди !"

Вы могли дать ему мануал по починке велосипедов, объявление из газеты о продаже велика или адрес конторы где его можно купить/взять в прокат... Но раз уж вы выбрали дать ему велосипед - пусть он хотя бы ездит !

Спустя 7 часов, 31 минута (28.05.2009 - 07:49) sergeiss написал(а):
Посмотрел я, подумал...

Следующее утверждение верное, вобщем-то smile.gif Я с ним согласен целиком и полностью. Сам стараюсь также подходить.
Цитата (Alchemist @ 28.05.2009 - 01:18)
Вы могли дать ему мануал по починке велосипедов, объявление из газеты о продаже велика или адрес конторы где его можно купить/взять в прокат... Но раз уж вы выбрали дать ему велосипед - пусть он хотя бы ездит !

Спустя 1 час, 20 минут, 55 секунд (28.05.2009 - 09:10) glock18 написал(а):
biggrin.gif Спасибо. Понял. Очень доходчиво, Alchemist
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.