IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   массивы (https://www.imho.ws/showthread.php?t=92207)

vitaminov-net 07.09.2005 20:10

массивы
 
я делаю

$adress = explode ("/",$all);
if ($adress[1] == '') {$adress[1] = 0;}
else {}


if ($adress[2] == '') {$adress[2] = 0;}
else {}

if ($adress[3] == '') {$adress[3] = 0;}
else {}

if ($adress[4] == '') {$adress[4] = 0;}
else {}

если каких то элементов нет, то выдатся ошибка,
как сделать чтоб отсутствующему элементу присваивалось значение 0.

RaZEr 07.09.2005 20:18

Какая ошибка-то?

vitaminov-net 07.09.2005 20:20

RaZEr
елси естьтолько один элемент массива то

Notice: Undefined offset: 1 in w:\home\localhost\www\pub.php on line 5

Notice: Undefined offset: 2 in w:\home\localhost\www\pub.php on line 9

Notice: Undefined offset: 3 in w:\home\localhost\www\pub.php on line 12

Notice: Undefined offset: 4 in w:\home\localhost\www\pub.php on line 15

RaZEr 07.09.2005 20:21

Отключи нотисы.

www.php.net/error_reporting

Trotil 07.09.2005 20:55

Либо проверяй на существование функцией bool isset ( mixed var [, mixed var [, ...]] ) так:
Код:

if (isset($adress[1])) {$adress[1] = 0;}
else {}


Hubbitus 08.09.2005 12:46

vitaminov-net, а зачем их собственно перебирать руками, и проверяя каждый присваивать 0??

Ну если почему-то вдруг надо дополнить массив именно до 4 элементов, заполняя несуществующие нулями, то проще всего это сделать сразу так, это вместо всего Вашего кода, приведенного в первом посте:
PHP код:

$adress explode ("/",$all);
    for (
$i 0$i <= 4$i++){
        (!isset(
$adress[$i])) ? $adress[$i] = '';
    } 

Ну или можно вообще так, что эквивалентно:
PHP код:

$adress explode ("/",$all);
    for (
$i 0$i <= 4; (!isset($adress[$i])) ? $adress[$i] = ''$i++){} 


vitaminov-net 11.09.2005 15:16

Hubbitus
спасибо!


Часовой пояс GMT +4, время: 14:32.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.