Я учу php. Несмотря на столько примеров на google, я все еще запутался в реализации массивов, которые являются двумерными и трехмерными. Может ли кто-нибудь объяснить, простыми словами, пример?Я так запутался с ассоциативными массивами в php (двух и трехмерных)
ответ
Существует также очень простой способ начать работу с многомерными массивами.
Просто возьмите лист и карандаш и начните писать свой многомерный массив на бумаге в первую очередь. Это очень поможет вам в начале.
Он должен выглядеть примерно так.
ARRAY0 {
key0.0 => "value0.0",
key0.1 => "value0.1",
key0.2 => ARRAY1 {
key1.0 => "value1.0",
key1.1 => ARRAY2 {
key2.0 => "value2.0",
key2.1 => "value2.1",
},
key1.2 => "value1.2",
},
key0.3 => "value0.3",
};
Это просто мой способ визуализации массивов вы можете придумать свой собственный синтаксис, если вы хотите.
Это массивы, которые вложены в другие массивы. В зависимости от того, насколько глубоко они вложены, определяется, какой размер они являются.
Ниже приведен пример массива 1D и 2D соответственно.
$arr =
array(
'item1' => 543,
654 => true,
'xas' => 0.54
);
// Accessing $arr[654] (returns true)
$arr2 = array(
array
(
'a' => 54,
'b' => 'Hello'
),
array
(
'itemx' => true,
954 => 'hello'
)
);
// Accessing $arr[0]['b'] (equal to 'Hello')
Для 3D-массива, вы просто добавить еще один вложенный массив в один из элементов 2-го уровня массива в примере 2D массива.
Самый простой пример для меня - это представление таблицы SQL как многомерного массива.
таблица может выглядеть следующим образом:
ID | Name | Email
--------------------------
1 | John | [email protected]
2 | Jane | [email protected]
И массив может выглядеть следующим образом:
Array
(
[0] => Array
(
[0] => 1
[1] => John
[2] => [email protected]
)
[1] => Array
(
[0] => 2
[1] => Jane
[2] => [email protected]
)
)
таблица превращается в массив массивов. К каждой строке обращается первый индекс и каждый столбец вторым индексом.
Так что если я хотел бы получить «Джейн» Я хотел бы использовать $ массив [1] [1]
Ассоциативный массив той же таблицы может выглядеть следующим образом:
Array
(
[0] => Array
(
[ID] => 1
[Name] => John
[Email] => [email protected]
)
[1] => Array
(
[ID] => 2
[Name] => Jane
[Email] => [email protected]
)
)
Вы бы доступ «Jane», как $ array [1] ["Name"]
Возможно, вы захотите добавить пример для ассоциативных массивов, используя тот же «пример таблицы», чтобы дать более подробную информацию. –
Хорошая идея, сделано. Благодарю. – rocketeerbkw
Супер один ... спасибо – user472625
Массив может иметь в себе что-нибудь в нем - от целого до строки до объекта с полным разнесением - к другому массиву.
Любой массив сам по себе называется одномерным массивом. Если вы считаете, что это ряд строк, то это одна строка. Если в массиве есть другой массив, то это двумерный массив: один из его полей будет столбцом, добавляющим другое измерение.
$users = array() ;
$jim = array('Jim', 'Smith') ;
$users[] = $jim ;
//or in one step
$users = array(array('Jim', 'Smith')) ;
//then to access the first user:
$jim = $users[0];
//and his firstname:
$jimsname = $users[0][0] ;
//or
$jimsname = $jim[0] ;
Вы можете получить доступ к элементам массива и его вложенные массивы индексами, но вы должны помнить, какой числовой индекс соответствует какая часть информации. Вот где вы можете использовать ассоциативные массивы, где числовые индексы заменяются уникальными описательных строк:
$users = array() ;
$jim = array(
'firstname' => 'Jim',
'lastname' => 'Smith'
) ;
$users['jim'] = $jim ;
//then to access jim:
$jim = $users['jim'];
//and his firstname:
$jimsname = $users['jim']['firstname'] ;
//or
$jimsname = $jim['firstname'] ;
Это довольно много его. Вы можете увидеть больше here и в
попробуйте это просто.
$anArray['abc'][1]['qwe']='this is a value';
$anArray['abc']['avs']='another value';
echo $anArray['abc'][1]['qwe'];
echo $anArray['abc']['avs'];
/*
Массив немного отличается в PHP. Элементы массива можно рассматривать как отдельные переменные ($ anArray ['abc] [1] [' qwe '] или $ anArray [' abc '] [' avs ']). И вы можете создавать их как отдельные переменные. Это дополнение к обычным массивам. Поддерживается также обычный способ.
Но что произойдет, если вы пишете: $anArray['abc']='something else';
$anArray['abc']
это просто переменная строка с этой точки. Таким образом, вы не можете (или, возможно, не так, как я его еще не тестировал, и практически все возможно) получить доступ $anArray['abc'][1]['qwe']
.
Поэтому постарайтесь думать элементы, такие как переменные, первый;)
*/
- 1. Php: проблема с ассоциативными массивами
- 2. Являются ли PHP ассоциативными массивами?
- 3. «array_combine» с ассоциативными массивами
- 4. Нужна помощь с ассоциативными массивами
- 5. Создание списка с ассоциативными массивами
- 6. Работа с ассоциативными массивами в JavaScript
- 7. как правильно использовать взрываться() с ассоциативными массивами
- 8. Foreach с массивом с ассоциативными массивами
- 9. Я так запутался с загрузкой файлов в PHP
- 10. Правильный синтаксис для PHP функции Еогеасп с ассоциативными массивами
- 11. BASH: нужна помощь с многомерными ассоциативными массивами
- 12. Работает ли bottle.py с ассоциативными массивами html?
- 13. Как использовать% TYPE с ассоциативными массивами Oracle?
- 14. Что я не так с моими массивами?
- 15. Я так запутался в отношении циклов в Java
- 16. Переменные в сравнении с константами по сравнению с ассоциативными массивами в PHP
- 17. Я запутался с перечислениями
- 18. Нужна помощь по проблеме Twig с ассоциативными массивами
- 19. JQuery $ .inArray не похоже на работу с ассоциативными массивами
- 20. Ошибка с ассоциативными ключами в php?
- 21. Я запутался с кодом Java?
- 22. Может ли список() в последней предстоящей работе PHP с ассоциативными массивами каким-то образом?
- 23. PHP - Я немного запутался на $ _POST и in_array
- 24. Я запутался о полиморфизма
- 25. Я запутался в oops, я запутался в терминах абстрактного класса расширяет и интерфейс реализует в oops
- 26. Что здесь не так? Я запутался ... ToJSON метод расширения
- 27. Умножение двух трехмерных матриц в MATLAB
- 28. Найти разницу между двумя многомерными ассоциативными массивами на определенный ключ?
- 29. Я запутался в установках pip
- 30. Участок двух трехмерных графиков вместе в r
Try, чтобы избежать получения случайных кусков PHP из поиска Google. Вы обнаружите, что ваша база знаний немного отсутствует. Вместо этого ознакомьтесь с этим руководством по PHP: http://www.tuxradar.com/practicalphp. В частности, раздел о массивах: http://www.tuxradar.com/practicalphp/5/0/0 – treeface
@treeface: Я согласен. После барахтаться на Google я наконец нашел эту книгу и начал изучать, и я начал наслаждаться PHP. Это лучшая книга PHP, которую я нашел, безусловно. @ user472625: Сидеть и проходить через всеобъемлющую книгу, подобную этой, даст вам прочное понимание основ и способов их использования. И это намного веселее, потому что вы можете отслеживать свой собственный прогресс. Чтение кучи случайных сайтов оставит вас в замешательстве, но прохождение глав, написанных одним и тем же (опытным) учителем, будет означать, что у вас есть последовательное понимание, которое вы можете использовать позже. –
@Matt Ball: В PHP все массивы ассоциативны. Выполнение 'array (" foo "," bar "," baz ")' такое же, как 'array (0 =>" foo ", 1 =>" bar ", 2 =>" baz ")'. В первом примере PHP просто назначает вам ключи. –