Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почему ключ не определяется как массив?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
arimanecro
Отправлено: 23 Апреля, 2015 - 17:24:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Приветствую.

Задумка следующая, если ключ является массивом, то вывести его название, пробовал так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array('id' => array('q' => '9', 'shit'=>'000');
  3. foreach($array as $k => $v) {
  4. if(is_array($k)
  5. echo $k. '- yes, is array';
  6. else
  7. echo 'no array';
  8. }
  9.  


выдает no array, хотя id как видим является подмассивом.

(Отредактировано автором: 23 Апреля, 2015 - 17:31:20)

 
 Top
dcc0
Отправлено: 23 Апреля, 2015 - 17:33:12
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Может, "ключ не является массивом", а указывает на вложенный массив?


-----
Март 2021. Бросил программирование
 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 17:36:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




arimanecro а ниче что синтаксическая ошибка?
скобка не закрыта
(Добавление)
arimanecro нормальный редактор тебя пошлет в пешее путешествие
и будет прав
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $array = array('id' => array('q' => '9', 'shit'=>'000'));
 
 Top
arimanecro
Отправлено: 23 Апреля, 2015 - 17:39:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




LIME

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

вот, норм. код:

$array = array('id' => array('q' => '9', 'shit'=>'000'));
foreach($array as $k => $v) {
if(is_array($k))
echo $k. '- yes, is array';
else
echo 'no array';
}

Вообщем, вопрос открыт... Закатив глазки

(Отредактировано автором: 23 Апреля, 2015 - 17:40:23)

 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 17:41:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dcc0 не смотри на плохих ребят
не водись с ними
они тебя плохому научат
используй нормальный человеческий IDE
и тогда папа не будет за тебя волноваться))
(Добавление)
arimanecro ты проверяешь на массив ключ....ты чего ожидал?...все происходит так как должно происходить
в чем вопрос?
все логично
 
 Top
dcc0
Отправлено: 23 Апреля, 2015 - 17:45:11
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Вообще-то проверять надо значение, а выводить ключ:

PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array('id' => array('q' => '9', 'shit'=>'000'), '2' => "I am not an array, ");
  3.  
  4.  foreach($array as $k => $v) {
  5.  
  6.  if(is_array($v)) {
  7.  
  8. echo $k. '- yes, is array';
  9.  
  10. }
  11.         else {
  12.  
  13.   echo 'no array';
  14.  
  15.    }
  16.  }
  17.  
  18.  
  19.  


Со скобками ошибся в 4-х местах

(Отредактировано автором: 23 Апреля, 2015 - 17:47:32)



-----
Март 2021. Бросил программирование
 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 17:45:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ты в условии спрашиваешь ---- если ключ массива является массивом---то----
ключ не может быть массивом
я понятно изъясняюсь?
dcc0 уничтожь его))
шутка
просто попробуй объяснить его ошибку
я очень долго объяснял
теперь твоя очередь))
(Добавление)
давай сынка))) покажи что умеешь))
(Добавление)
шутка шутка)) не бейте)))
 
 Top
arimanecro
Отправлено: 23 Апреля, 2015 - 17:47:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




LIME

вопрос в том, ключ 'id считается массивом в многомерном массиве? Ведь должен считаться, так как явно же указываем 'id' => array.
 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 17:49:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dcc0 у тебя нервы еще есть?
давай попробуй ты объяснить сначала
 
 Top
arimanecro
Отправлено: 23 Апреля, 2015 - 17:50:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




LIME пишет:
ключ не может быть массивом


прочитал, после того, как отправил коммент )

Хорошо, тогда как вытащить исключительно название ключа айди? Ниндзя Ниндзя

(Отредактировано автором: 23 Апреля, 2015 - 17:53:29)

 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 17:52:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dcc0 не бросай меня
иначе мне придется все растолковывать
(Добавление)
arimanecro а можно поинтересоваться сколько Вам лет?
исключительно чтобы знать на каком уровне нам общаться
 
 Top
arimanecro
Отправлено: 23 Апреля, 2015 - 17:54:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




LIME
разговаривай как со взрослым Улыбка
Повторюсь ещё раз, по какому критерию можно вывести название, исключительно ключа айди?

(Отредактировано автором: 23 Апреля, 2015 - 17:56:02)

 
 Top
Flash_PR
Отправлено: 23 Апреля, 2015 - 18:01:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 328
Дата рег-ции: Окт. 2013  
Откуда: Санкт-Петербург


Помог: 6 раз(а)




arimanecro пишет:
вопрос в том, ключ 'id считается массивом в многомерном массиве? Ведь должен считаться, так как явно же указываем 'id' => array.

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


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
LIME
Отправлено: 23 Апреля, 2015 - 18:05:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dcc0 вот снова применил не говорящие имена переменных и изза этого ТС не понял тебя
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $array = array('id' => array('q' => '9', 'shit'=>'000');
  2. foreach($array as $k => $v) {
  3. if(is_array($v)
  4. echo $k. '- yes, is array';
  5. else
  6. echo 'no array';
  7. }

(Добавление)
найди одно отличие
(Добавление)
LIME пишет:
if(is_array($v)
ты проверяешь тут не является ли переменная массивом?
в твоем случае переменная является ключом
потому и говорит что не массив
попробуй пожалуйста подумать
пораскинь умом
(Добавление)
Flash_PR да кэп
принимай эстафету
объясни ему суть циклов и массивов
(Добавление)
arimanecro думай как программа
ты в условие вставил ключ и сравнил ключ с массивом
и тебе честно сказали что ключ не есть массив
 
 Top
dcc0
Отправлено: 23 Апреля, 2015 - 18:29:29
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




LIME, а я не применял, это вообще код автора, я только поправил скобки в 4 местах и изменил одну переменную в условии
(Добавление)
Автору просто не захотелось протестировать код.

Он продолжает пытаться понять "является ли номер телефона абонентом".
Необучаемых не бывает

Псевдокод автора
PHP:
скопировать код в буфер обмена
  1.  
  2. Если ключ является чуланом,
  3.   То ключ является чуланом,
  4.     Иначе
  5. Вывод "не чулан"
  6.  
  7.  


А надо

PHP:
скопировать код в буфер обмена
  1.  
  2. Если комната является чуланом,
  3.   То вывести "ключ указывает на  чулан",
  4.     Иначе не указывает на чулан
  5.  
  6.  

(Отредактировано автором: 23 Апреля, 2015 - 18:34:20)



-----
Март 2021. Бросил программирование
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB