Вызов массива из ключа не работает правильно - PullRequest
2 голосов
/ 02 марта 2010

Я пытаюсь вызвать определенную часть массива с помощью ключа #, и он не работает. Я могу вывести массив и увидеть его ...

Array
(
    [6] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

    [7] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

    [8] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

)

Этот массив $ emailDB. Я могу вызвать массив вручную с помощью $ emailDB [7], и он работает, но если мой вызов такой динамический, он не будет работать ...

<?php
$value = 7;
print_r($emailDB[$value]);
?>

У меня никогда не было такой проблемы с массивом, так что это очень странно. Что на самом деле отстой, так это то, что я не в срок с формой, не работающей на сайте клиента ... радость.

Мы попробовали это без удачи ...

<?php
$value = 7;
print_r($emailDB[intval($value)]);
?>

Я думал, что intval () поможет, но это не помогло.

Ответы [ 3 ]

2 голосов
/ 03 марта 2010

Ваш пост подразумевает ошибку в самом php, в которой я очень сомневаюсь. Скорее всего, то, что вы разместили, неправильно отображает код, который вы запускаете.

Почему бы не попробовать это. Создайте новый пустой php файл . Жестко закодируйте ключи и значения массива и назначьте их переменной $ emailDB, а затем попробуйте

$value = 7;
print_r($emailDB[$value]);

Вы увидите, что у вас нет проблемы, на которую вы претендуете. Теперь вы начали процесс отладки, и теперь вы можете посмотреть на рабочий и нерабочий код, чтобы сравнить разницу.

2 голосов
/ 02 марта 2010

Ну, вы повторяете массив, который, я полагаю, печатает «массив» на вашем экране. Если вы хотите отобразить фактическое содержимое массива, вам нужно использовать print_r($array) или echo print_r($array, true). Вы также можете попробовать поместить значение в кавычки, например $emailDB["{$value}"], чтобы увидеть, работает ли это, у меня иногда возникают проблемы с целыми числами, которые не подходят к вещам должным образом.

0 голосов
/ 03 марта 2010

Я согласен со всеми вами. Это должно было быть что-то странное с тем, как мы каким-то образом извлекали данные. Это был разделенный табуляцией файл, который мы взорвали. Я просто полностью переписал все и импортировал данные в MySQL, и все было хорошо.

Оглядываясь назад, я подозреваю, что это была команда trim (), которая была необходима и, вероятно, больше ничего. Черт возьми ... слишком поздно, но я кое-что узнал о проверке кода для подобных вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...