За последние 24 часа нас посетили 52900 программистов и 1768 роботов. Сейчас ищут 954 программиста ...

опять цикл for

Тема в разделе "PHP для новичков", создана пользователем ministr, 1 май 2011.

  1. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0
    Всем спасибо за терпенье, моё левое полушарие расстаяло.

    1. определяется массив '$matrix' с ключом 'NULL' и значением '1'.
    2. создаётся переменная с '$i' со значением 'b'. ( она не имеет никого отношения с массивом '$matrix' т. к. определена после обьявления массива)
    3 выодим массив '$matrix' с ключом '[$i]' . Не сработает, потому-что ключа '$i' не существует, но, если не обьявлять переменную $i, то при вызове третьего действия функция 'print' сработает и определит этот ключ.

    Вот и вопрос. Почему срабатывает третье действие, ведь у массива '$matrix' нет ключа '$i'

    Если у вас нет терпенья или желания можете не отвечать
    PHP:
    1.  <?php
    2.  
    3.  $matrix = array( $i => 1);
    4.  
    5. $i = 'b';
    6.  
    7.   print $matrix [$i];
    8.  
    9. ?>
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Давайте так. Бывают люди, которые в силу склада ума плохо соображают в той или иной области. Может из вас получится гениальный художник, кто знает. Но в программировании слушайте других и не спрашивайте "почему?" - поптыка объяснить будет стрессом для всех.

    Итак, аксиома 1 для вас - все переменные до их использования должны быть проинициализированы значением. Если вы хотите использовать переменную где-то - напишите строчкой выше присваивание ей значения. Если вы не знаете еще какое значение - поставьте хотя бы 0. Вам это нужно выписать на стикер и приклеить к монитору.

    И только тогда, когда вы прочитаете эту тему и поймете ответы на все заданные вами вопросы - можете этот стикер от монитора отклеить.
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    потому что ключа 'b' не существует.
    думай... думай...
     
  4. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0