Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Верно ли утверждение?


Автор: lanD 25.9.2006, 23:14
Теперь значения этих переменных будут совпадать в любом случае?

Код

<?php
$first = 'Text';    // Присваиваем $first
                    // значение 'Text'
$second = &$first;
/*     Делаем ссылку на $first через $second.
    Теперь значения этих переменных
    будут всегда совпадать */
// Изменим значение $first
// на 'New text'
$first = 'New text';
echo "Переменная с именем first " .
     "равна $first <br>";
// Выведем значения обеих переменных
echo "Переменная с именем second " .
     "равна $second";
?>

Автор: Vaulter 26.9.2006, 00:24
Переменная с именем first равна New text 
Переменная с именем second равна New text

Автор: ewolf 26.9.2006, 09:43
Будут совпадать до тех пор, пока ты что-то не присвоишь переменной $second

Автор: lanD 26.9.2006, 10:24
Несовсем понятно следующее:
Почему в последнем выведет 1 ?
Потому что 12 = true ?
Код

<?php
$books = array ("php" =>
                "PHP users guide",
                12 => true);
echo $books["php"] . "<br>";
// Выведет "PHP users guide"
echo $books[12];    // Выведет 1
?>

Автор: Garret 26.9.2006, 10:57
true и 1 это равносильные значения, то же самое что и false и 0.

Автор: AztEK 26.9.2006, 12:11
Цитата(Garret @  26.9.2006,  13:57 Найти цитируемый пост)
true и 1 это равносильные значения, то же самое что и false и 0. 

Да. Если кто выполнял процедуру get_defined_constants(), видел дефайны TRUE и FALSE, равные 1 и 0 соответсвенно. Это так, к слову  smile .


Автор: lanD 27.9.2006, 11:20
А в чем собственно ошибка?
data.php
Код

<?php
define("SIGN","С уважением, LanD"); 
// пусть наша подпись 
// будет константой

// информация о событиях
$events = array(
    "f" => "день открытых дверей",
    "o" => "открытие выставки", 
    "p" => "бал выпускников");
// имеющаяся информация о людях 
// (имя и электронный адрес)
$people = array(
    "ivan" => array(
       "name" => "Иван Иванович",
        "email"=>"[email protected]"),
    "pit" => array(
       "name" => "Петр Петрович",
        "email" => "[email protected]"),
    "semen" => array(
       "name" => "Семен Семенович"));
// кто куда приглашается
$who_where["ivan"] = "o" ;  
    // Иван – на выставку
$who_where["pit"] = "p";        
    // Петр – на бал
?>


letters.php
Код

<?php
require("data.php");    
    // включаем файл с данными о событиях
foreach($people as $key => $man_info){ 
    // для каждого человека делаем следующее:
$event_key = $who_where[$key]; 
    // получаем событие, 
   // на которое он приглашается
if ($event_key<>""){
    foreach($man_info as $key1 => $info){
    // получаем имя и email 
   // конкретного человека
    if ($key1=="name") 
      $str = "Уважаемый (ая), $info";
    if ($key1=="email") $email = $info;
     }
    // составляем приглашение
    $str .= "<br>Приглашаем Вас на ". 
       $events[$event_key];
    switch ($event_key){ 
   // в зависимости от события 
    // добавляем какую-нибудь строчку
        case "f":
        $str .= "<br>Подтвердите Ваше 
          участие по телефону!";
        break;
        case "o":
        $str .= "<br>Приходите за 15 
          минут до открытия!";
        break;
        case "p":
        $str .= "<br>Не забудьте подарок :-)";
        break;
    }
    $str .= "<br>" . SIGN . "<hr>"; 
   // добавляем подпись
    
   echo $str; // вводим приглашение на экран 

/* если у вас настроена отправка почты с 
помощью PHP, то письмо можно отправить 
командой mail($email,"Letter",$str); */
    }
}
?>

Автор: euginewm 27.9.2006, 12:44
Цитата

Переменная с именем first равна New text 
Переменная с именем second равна New text


насколько я понимаю указатель second не является переменной и ничему не равен, при обращении к нему в данном случае, будет произведено обращение к месту в памяти где хранится значение first.

Автор: sergejzr 27.9.2006, 12:58
Модератор: Название темы должно отражать ее суть!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)