не определяется переменная

Тема в разделе "PHP", создана пользователем sunyang, 8 май 2011.

Модераторы: latteo
  1. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    440
    Симпатии:
    30
    вот этот скрипт:
    PHP:
    $pref "ws_";
    $users $pref."users";
     
    function 
    users()
        {
          
    $q "SELECT * FROM $users";
          
          echo 
    $q;
          }
          
          
    users();
    выдает строку SELECT * FROM

    а куда делась переменная $users ?

    я же ее вроде вне функции определил...
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    переменную $users нужно передать в функцию иначе внутри функции она недоступна (ибо внутри функции используется локальная переменная) почитайте про области видимости переменных
    в вашем случае
    PHP:
    $pref "ws_"
    $users $pref."users"// глобальная область видимости
      
    function users() 
        { 
          
    $q "SELECT * FROM $users"// ссылка на переменную локальной области видимости  
           
          
    echo $q// результат: SELECT * FROM $users
          

           
          
    users();  
    нужно так
    PHP:
    $pref "ws_"
    $users $pref."users";  
    function 
    users($usr
        { 
          
    $q "SELECT * FROM ".$usr
      echo 
    $q
          }   
          
    users($users);  
    либо так:
    PHP:
    $pref "ws_"
    $users $pref."users"
    function 
    users() 
        { 
    global 
    $users;
          
    $q "SELECT * FROM ".$users
      echo 
    $q
          }   
          
    users();  
     
    sunyang нравится это.
  3. tartas

    tartas

    Регистр.:
    5 сен 2010
    Сообщения:
    294
    Симпатии:
    29
    Или еще такой вариант

    PHP:
    $pref "ws_"
    $users $pref."users";  
    function 
    users($usr
        { 
          
    $q "SELECT * FROM '$usr'"
      echo 
    $q
          }   
          
    users($users); 
     
     
    sunyang нравится это.
  4. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    про область видимости переменных читай ;)