Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проверка корректности переменной

Сообщения:  [1-8] 

 
 автор: cheops   (14.03.2005 в 22:40)   письмо автору
 
   для: Loki   (14.03.2005 в 15:01)
 

Да, всё правильно.

   
 
 автор: Loki   (14.03.2005 в 15:01)   письмо автору
 
   для: cheops   (14.03.2005 в 13:26)
 

Таким образом, для массива вида

$test[$i][$id]

Код будет

<?
if(!array_key_exists($i,$test)) $i 0;
if(!
array_key_exists($id,$test[$i])) $id 0;
?>


Это скорее риторический вопрос, так как этот код работает:) Просто хочется убедиться что это действительно грамотно написано:)

   
 
 автор: cheops   (14.03.2005 в 13:26)   письмо автору
 
   для: Loki   (14.03.2005 в 11:58)
 

bool array_key_exists (mix key, array arr)

Функция прнимает два параметра:
key - ключ массива
arr - массив, в котором производится поиск
Возвращает true, если в массиве имеется элемент с ключом key, и false - в противном случае. При многомерном массиве следует в качестве второго массива можно передать и сечение. Т.е. если имеется массив $arr[][], то в качестве аргумента arr, можно передать $arr[26].

   
 
 автор: Loki   (14.03.2005 в 11:58)   письмо автору
 
   для: cheops   (14.03.2005 в 11:49)
 

А что это за функция? У вас такой в справочнике нет... Какой у нее синтаксис? Если массив многомерный, то как она выглядит?

Сделал так:
<?php 
  
if(!array_key_exists($id,$aaa)) $id 0
  if(!
array_key_exists($id1,$aaa)) $id1 0
?> 

Не знаю насколько это верно, но работает:)
Спасибо.

   
 
 автор: cheops   (14.03.2005 в 11:49)   письмо автору
 
   для: Loki   (14.03.2005 в 10:44)
 

Хм... в этом случае можно проверить наличие такого индекса в массиве при помощи функции array_key_exists
<?php
  
if(!array_key_exists($id,$aaa)) $id 1;
?>

   
 
 автор: Loki   (14.03.2005 в 10:44)   письмо автору
 
   для: cheops   (14.03.2005 в 10:15)
 

Как я понимаю, это частный случай, ведь индекс массива может быть и не числовой. Быть может правильнее проверять наличие в массиве соответствующего элемента?

   
 
 автор: cheops   (14.03.2005 в 10:15)   письмо автору
 
   для: Loki   (14.03.2005 в 10:06)
 

Можно проверить поступающее значение при помощи регулярного выражения, если это не число, то приравнивать ему корректное значение.
<?php
  
if(!preg_match("|^[\d]+$|",$id) && !empty($id)) $id 1;
?>

   
 
 автор: Loki   (14.03.2005 в 10:06)   письмо автору
 
 

У меня на сайте навигацмя сделана следующим образом:
index.php?id=1
после чего из массива aaa[$id] выбирается соотвествующее значение. Но в поисковиках по прежнему храняться старые ссылки вида:
index.php?id=something
Получив такую ссылку отображается просто путая страница (видимо, все ошибки давит сервер, или код у меня корявый). Как сделать так, чтобы при некорректном значении переменной id, ей присваивалось какое-то значение по умолчанию?

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования