САМОУЧИТЕЛЬ PHP 4




Переменные и массивы - часть 2


/p>

По умолчанию подразумевается EXTR_OVERWRITE, ò. å. переменные перезаписываются. Вот пара примеров применения этой функции:

// Сделать все переменные окружения глобальными

extract($HTTP_ENV_VARS);

// То же самое, но с префиксом E_

extract($HTTP_ENV_VARS,

EXTR_PREFIX_ALL, "E_");

echo $E_COMSPEC; // выводит переменную окружения COMSPEC

Параметр $prefix

имеет смысл указывать только тогда, когда вы применяете режимы EXTR_PREFIX_SAME или EXTR_PREFIX_ALL.

Вообще

говоря, использование extract() и compact() может быть оправдано лишь для небольших массивов, да и то только в шаблонах, а в остальных случаях считается признаком дурного тона. Впрочем, если ваш дизайнер никак не может понять, зачем же ему в шаблонах страниц гостевой книги указывать все эти ужасные квадратные скобки и апострофы, можете пойти ему навстречу так:

<table width=100%>

<?foreach($Book as $Entry) { extract($Entry)?>

  <tr>

    <td>Èìÿ: <?=$name?></td>  <!-- вместо $Entry['name'] -->

    <td>Àäðåñ: <?=$url?></td> <!-- вместо $Entry['url']  -->

  </tr>

  <tr><td colspan=3><?=$text?></td></tr>

  <tr><td colspan=3><hr></td></tr>

<?}?>

</table>

Здесь вы должны загодя позаботиться, чтобы ключи $Entry ненароком не затерли нужные переменные. Этого можно добиться, например, назвав все важные переменные с прописной буквы (например, $Book и $Entry), а все ключи — с маленькой, как и было сделано немного выше.




Содержание  Назад  Вперед