[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Help
FlashMik
Такой вопрос, объясните пожалуйста, как это кусок кода работает.
array_key_exists($k,$arr2) ? $arr2[$k] += $v : $arr2[$k] = $v; //Ломаю уже 2 сутки, не могу понять, объясните пожалуйста по этап-но, и более подробно начиная с 1-ых '(' вот не могу понять и всё. На кодил сам, использовал гугл, а понять до конца не могу.

Всё-же напишу как я думаю, как этот кусок работает, ради посмешище(Хотя я новичок и умный человек не обессудить.)array_key_exists -- проверяет совпадают -ли ключи массива1 с массивом2, если они совпадают(TRUE) делает следующие тело движение после знака ? массив2[Ключи] складывает с присваиванием значение массива1, так что получается складывает к чему, всё тут я теряюсь с мыслями, и догнать не могу.Надеюсь на вашу помощь.


Сам код и задание.(Знаю что можно использовать оператор isset(На много проще), но так-как я Овен, пока не узнаю буду ломать голову над этим;))


<? 

/*2. Напишите PHP+программу, которая создает два массива чисел и прибавляет
значения одного массива к соответствующим (по индексу) значениям другого
массива. Массивы должны содержать следующие значения:
A. 2, 4, 6, 8, 10;
Б. 3, 5, 7, 9, 11.*/


$arr1 = array ('1' => 2, '2' => 4, '3' => 6, '4' => 8, '5' => 10);//Array One
$arr2 = array ('1' => 3, '2' => 5, '3' => 7, '4' => 9, '5' => 11);//Array Two
foreach($arr1 as $k => $v)//Цикл>работающий с массивами(Осуществляет перебор массивов)
{

array_key_exists($k,$arr2) ? $arr2[$k] += $v : $arr2[$k] = $v;
print_r($arr2[$k]);
echo "<br>";
}
?>




Спустя 3 минуты, 24 секунды (7.10.2011 - 14:49) Krevedko написал(а):
array_key_exists($k,$arr2) ? $arr2[$k] += $v : $arr2[$k] = $v; 


это тоже самое, что

if(array_key_exists($k,$arr2))
$arr2[$k] += $v;
else
$arr2[$k] = $v;


тернарный оператор.
Т.е. если ключ в массиве существует, то прибавляем значение $v, если нет, то приравниваем. это вкратце.

Спустя 3 минуты, 8 секунд (7.10.2011 - 14:52) m4a1fox написал(а):
НУ поставь числа вместо переменных и поймешь! Это функция складывает значение, из одного массива в другой где ключи одного=ключи второго!

Спустя 12 минут, 23 секунды (7.10.2011 - 15:05) FlashMik написал(а):
Всё понял, понял, понял, спасибо огромное!

Спустя 1 минута, 14 секунд (7.10.2011 - 15:06) Michael написал(а):

 ! 

М
Давайте своим темам вменяемое название
Michael
Быстрый ответ:

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