Forum Webscript.Ru
Программирование => PHP => Тема начата: AlieN от 27 Сентября 2002, 20:29:36
-
Че-то под конец недели совсем голова отказывается понимать
function aa()
{
global $array;
$array[]=array(key1=>"key1",key2=>"key2");
}
functionbb()
{
global $array;
if(некоторое условие){$array[последний ключ][key3]=$key[3];}
}
Собственно как сделать? :)
-
А это чего вообще? :) Что сделать?
-
AlieN
Ни один я значит думаю о выходных :)
Че это - PHP код :)
Короче добавляется в массив в самыей конец алемент
надо узнать его ключ
-
Может я не понял, но
$array[sizeof($array) - 1][key3]=$key[3];
-
надо узнать его ключ
$last_key = array_pop(array_keys($array));
это так сходу, неуверен, что это самый оптимальный вариант.
А что мешает определить ключ перед добавлением в массив
-
end -- Set the internal pointer of an array to its last element
-
Дополнение.
ответ найден менее, чем за 10 секунд.
клик по .chm в быстром досупе -> знаю команду next -> набрал "ne" -> стрелка вниз -> Ентер -> См.также -> end
-
[off]
RomikChef
:super:
AlieN
Отдыхать надо, батенька...
А то ты уже сам себе постинги адресуешь :)
[/off]
-
ThE0ReTiC, вот, этот смайл ты для
RomikChef точно подставил, понту много, а толку мало!
-
Есть такая функция 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)
-
ROFL
-
О, еще один товарищ записал RomikChef в личные враги :-). И так серьезно подошел к этому делу, что после него не поленился дать альтернативный вариант решения (подробно расписанный вплоть до синтаксиса функции :-) - вот как мы могём), даже не смотря на то, что он не просто хуже уже данного оппонентом, а и вообще плох для данной задачи.
>> ThE0ReTiC, вот, этот смайл ты для
RomikChef точно подставил, понту много, а толку мало
Толку от него, поверь, на порядок больше, чем от тебя. Как там... "если ты дашь человеку рыбу, то ты обеспечишь его едой на один день, а если научишь ловить рыбу - то на всю жизнь".
От коротких комментов RomikChef толку обычно больше, чем от долгих добрых объяснений уровня как последний кей в массиве найти. Лучше один раз кого-то научить головой думать и правильный подход к самостоятельному решению задач подсказать, чем всю жизнь его "задачи" решать.
И бросай это гиблое дело в Ромика плеваться - слишком высоко голову задирать для тебя, шею свернешь :-).
-
deMentoR
str_replace("зделать", "сделать", $all_messages);
-
PilotV, ты по-моему сам не понял что сказал, от кого толку больше это ещё не известно, а вот что моя ф-ция работает - это точно, а вот его комментарий только он сам понял наверно, т.к. выхода из данной ситуации в нём нет и ещё я никому задачу не решал, я как раз представил метод с помощью которого можно её решить и дал пояснение к нему,а до решения задачи там ещё надо голову преложить.
Доктор, знаю я, просто привык как то давно неправильно писать и когда быстро печатаю так получается.
P.S. насчёт полезности моего комментария к теме не Вам судить, а тому челу который вопрос задал, в все ваши оффтопики оставьте при себе....
-
RomikChef & PilotV end -- Set the internal pointer of an array to its last element, если с языком иностранным плохо, то перевожу, end - переводит внутренний курсор массива на его последний элемент. Дальше, задача автора топика стояла не в том чтоб перевести курсор на последний элемент, а в том чтобы найти ключ последнего элемента массива. Так вот теперь поясняю мой метод:
1. с помощью ф-ции array_keys находим все ключи массива и записываем их в новый массив, затем с помощь например ф-ции end берём последний ключ.
2. если известно значение последнего элемента и нам нужен лишь его ключ, то в параметр mixed search_value записываем значение этого элемента и тогда сразу получим ключ последнего элемента.
Есть возражения???
-
deMentoR
а вот его комментарий только он сам понял наверно
Дальше, задача автора топика стояла не в том чтоб перевести курсор на последний элемент, а в том чтобы найти ключ последнего элемента массива.
Ну, если кто-то не понял его комментарий или не знает, что с ним дальше делать (чтобы найти последний ключ), то ему явно стоит подумать над тем, чем в жизни заняться, что у него получается лучше программирования. Например, вагоны грузить... или хотя бы мануал почитать первый раз в жизни.
а вот что моя ф-ция работает - это точно
Я тебя поздравляю, что ТВОЯ функция работает :)
Так вот теперь поясняю мой метод
Вот спасибо-то. А то бы без тебя я так дураком и помер...
Есть возражения???
Есть. Тупой метод.
Есть еще вопросы?
-
Ребят не нервничайте
Этот вариант (http://forums.webscript.ru/showthread.php?s=&postid=55866#post55866) Подошел на 100%
А то ты уже сам себе постинги адресуешь
Нифига,я не борюсь за рейтинг, просто тормажу это нормально для маленьких мальчикоф :)
-
ЗЫ:
RomikChef
Твой вариант оказался безнадежно медленнее по сравнению вышеуказанного
-
RomikChef
Твой вариант оказался безнадежно медленнее по сравнению вышеуказанного
Так ясное дело... Но он правильней, так как массивы бывают еще ассоциативными.
deMentoR
str_replace("преложить", "приложить", $all_messages);
-
Доктор
так как массивы бывают еще ассоциативными.
Вопрос был четко поставлен про цифровой массив
-
Мужики, не придирайтесь к нему :-)
Ну устал человек после трудовой недели. со всеми бывает ;-)
-
RomikChef
Впервые от тебя слышу хорошие слова,может выпил что-нить? :)
-
(грустно) а это нехорошие слова на самом деле...
-
AlieN
Вопрос был четко поставлен про цифровой массив
Вижу:
global $array
Короче добавляется в массив в самыей конец алемент
надо узнать его ключ
Так что хто его знает, может в том $array, который global, есть ассоциативные индЫксы тоже :)