Forum Webscript.Ru

Программирование => PHP => Тема начата: AlieN от 27 Сентября 2002, 20:29:36

Название: Массив
Отправлено: AlieN от 27 Сентября 2002, 20:29:36
Че-то под конец недели совсем голова отказывается понимать

function aa()
{
global $array;
$array[]=array(key1=>"key1",key2=>"key2");
}
functionbb()
{
global $array;
if(некоторое условие){$array[последний ключ][key3]=$key[3];}
}

Собственно как сделать? :)
Название: Массив
Отправлено: rembo от 27 Сентября 2002, 20:38:43
А это чего вообще? :) Что сделать?
Название: Массив
Отправлено: AlieN от 27 Сентября 2002, 20:40:33
AlieN
Ни один я значит думаю о выходных :)
Че это - PHP код :)
Короче добавляется в массив в самыей конец алемент
надо узнать его ключ
Название: Массив
Отправлено: GotZfild от 27 Сентября 2002, 21:02:36
Может я не понял, но

$array[sizeof($array) - 1][key3]=$key[3];
Название: Массив
Отправлено: Макс от 27 Сентября 2002, 21:15:57
Цитировать
надо узнать его ключ

$last_key = array_pop(array_keys($array));
это так сходу, неуверен, что это самый оптимальный вариант.
А что мешает определить ключ перед добавлением в массив
Название: Массив
Отправлено: Меняздесьдавнонет от 27 Сентября 2002, 21:40:04
end --  Set the internal pointer of an array to its last element
Название: Массив
Отправлено: Меняздесьдавнонет от 27 Сентября 2002, 21:48:15
Дополнение.
ответ найден менее, чем за 10 секунд.
клик по .chm в быстром досупе -> знаю команду next -> набрал "ne" -> стрелка вниз -> Ентер -> См.также  -> end
Название: Массив
Отправлено: ThE0ReTiC от 28 Сентября 2002, 01:05:14
[off]
RomikChef
:super:
AlieN
Отдыхать надо, батенька...
А то ты уже сам себе постинги адресуешь :)
[/off]
Название: Массив
Отправлено: deMentoR от 28 Сентября 2002, 11:44:23
ThE0ReTiC, вот, этот смайл ты для
RomikChef  точно подставил, понту много, а толку мало!
Название: Массив
Отправлено: deMentoR от 28 Сентября 2002, 12:02:00
Есть такая функция array_keys она возвращает список из ключей массива.

Я не знаю что тебе конкретно зделать надо, поэтому просто синтаксис приведу...

Синтаксис :

list array_keys(array arr [,mixed search_value])

Функция возвращает список, содержащий все ключи массива arr. Если задан необязательный параметр search_value, то она вернет только те ключи, которым соответствуют значения search_value.

$arr = array(0 => 100, "color" => "red", 15);
array_keys($arr); // возвратит array(0, "color", 1)

$arr = array("blue", "red", "green", "blue", "blue");
array_keys($arr, "blue"); // возвратит array(0, 3, 4)
Название: Массив
Отправлено: Меняздесьдавнонет от 28 Сентября 2002, 14:55:44
ROFL
Название: Массив
Отправлено: PilotV от 28 Сентября 2002, 15:02:56
О, еще один товарищ записал RomikChef в личные враги :-). И так серьезно подошел к этому делу, что после него не поленился дать альтернативный вариант решения (подробно расписанный вплоть до синтаксиса функции :-) - вот как мы могём), даже не смотря на то, что он не просто хуже уже данного оппонентом, а и вообще плох для данной задачи.

>> ThE0ReTiC, вот, этот смайл ты для
RomikChef точно подставил, понту много, а толку мало

Толку от него, поверь, на порядок больше, чем от тебя. Как там... "если ты дашь человеку рыбу, то ты обеспечишь его едой на один день, а если научишь ловить рыбу - то на всю жизнь".
От коротких комментов RomikChef толку обычно больше, чем от долгих добрых объяснений уровня как последний кей в массиве найти. Лучше один раз кого-то научить головой думать и правильный подход к самостоятельному решению задач подсказать, чем всю жизнь его "задачи" решать.

И бросай это гиблое дело в Ромика плеваться - слишком высоко голову задирать для тебя, шею свернешь :-).
Название: Массив
Отправлено: Доктор от 28 Сентября 2002, 16:10:53
deMentoR
str_replace("зделать", "сделать", $all_messages);
Название: Массив
Отправлено: deMentoR от 29 Сентября 2002, 07:35:24
PilotV, ты по-моему сам не понял что сказал, от кого толку больше это ещё не известно, а вот что моя ф-ция работает - это точно, а вот его комментарий только он сам понял наверно, т.к. выхода из данной ситуации в нём нет и ещё я никому задачу не решал, я как раз представил метод с помощью которого можно её решить и дал пояснение к нему,а до решения задачи там ещё надо голову преложить.
Доктор, знаю я, просто привык как то давно неправильно писать и когда быстро печатаю так получается.
P.S. насчёт полезности моего комментария к теме не Вам судить,  а тому челу который вопрос задал, в все ваши оффтопики оставьте при себе....
Название: Массив
Отправлено: deMentoR от 29 Сентября 2002, 07:44:13
RomikChef & PilotV end -- Set the internal pointer of an array to its last element, если с языком иностранным плохо, то перевожу, end - переводит внутренний курсор массива на его последний элемент. Дальше, задача автора топика стояла не в том чтоб перевести курсор на последний элемент, а в том чтобы найти ключ последнего элемента массива. Так вот теперь поясняю мой метод:
1. с помощью ф-ции array_keys находим все ключи массива и записываем их в новый массив, затем с помощь например ф-ции end берём последний ключ.
2. если известно значение последнего элемента и нам нужен лишь его ключ, то в параметр mixed search_value записываем значение этого элемента и тогда сразу получим ключ последнего элемента.
Есть возражения???
Название: Массив
Отправлено: PilotV от 29 Сентября 2002, 15:06:36
deMentoR
Цитировать
а вот его комментарий только он сам понял наверно

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

Ну, если кто-то не понял его комментарий или не знает, что с ним дальше делать (чтобы найти последний ключ), то ему явно стоит подумать над тем, чем в жизни заняться, что у него получается лучше программирования. Например, вагоны грузить... или хотя бы мануал почитать первый раз в жизни.
Цитировать
а вот что моя ф-ция работает - это точно

Я тебя поздравляю, что ТВОЯ функция работает :)
Цитировать
Так вот теперь поясняю мой метод

Вот спасибо-то. А то бы без тебя я так дураком и помер...
Цитировать
Есть возражения???

Есть. Тупой метод.
Есть еще вопросы?
Название: Массив
Отправлено: AlieN от 29 Сентября 2002, 16:27:50
Ребят не нервничайте
Этот вариант (http://forums.webscript.ru/showthread.php?s=&postid=55866#post55866) Подошел на 100%
Цитировать
А то ты уже сам себе постинги адресуешь

Нифига,я не борюсь за рейтинг, просто тормажу это нормально для маленьких мальчикоф :)
Название: Массив
Отправлено: AlieN от 29 Сентября 2002, 16:29:09
ЗЫ:
RomikChef
Твой вариант оказался безнадежно медленнее по сравнению вышеуказанного
Название: Массив
Отправлено: Доктор от 29 Сентября 2002, 17:33:12
Цитировать
RomikChef
Твой вариант оказался безнадежно медленнее по сравнению вышеуказанного

Так ясное дело... Но он правильней, так как массивы бывают еще ассоциативными.

deMentoR
str_replace("преложить", "приложить", $all_messages);
Название: Массив
Отправлено: AlieN от 29 Сентября 2002, 17:47:48
Доктор
Цитировать
так как массивы бывают еще ассоциативными.

Вопрос был четко поставлен про цифровой массив
Название: Массив
Отправлено: Меняздесьдавнонет от 29 Сентября 2002, 18:13:33
Мужики, не придирайтесь к нему :-)
Ну устал человек после трудовой недели. со всеми бывает ;-)
Название: Массив
Отправлено: AlieN от 29 Сентября 2002, 18:31:14
RomikChef
Впервые от тебя слышу хорошие слова,может выпил что-нить? :)
Название: Массив
Отправлено: Меняздесьдавнонет от 29 Сентября 2002, 18:42:46
(грустно) а это нехорошие слова на самом деле...
Название: Массив
Отправлено: Доктор от 30 Сентября 2002, 05:41:06
AlieN
Цитировать
Вопрос был четко поставлен про цифровой массив


Вижу:
Цитировать
global $array

Цитировать
Короче добавляется в массив в самыей конец алемент
надо узнать его ключ


Так что хто его знает, может в том $array, который global, есть ассоциативные индЫксы тоже :)