Nano Hash - криптовалюты, майнинг, программирование

Функция подсчета PHP с ассоциативным массивом

Может ли кто-нибудь объяснить мне, как функция count работает с массивами, подобными приведенному ниже?

Моей мыслью был бы следующий код для вывода 4, потому что там 4 элемента:

$a = array 
(
  "1" => "A",
   1=> "B",
   "C",
   2 =>"D"
);

echo count($a);

Ответы:


1

count работает именно так, как вы ожидаете, например. он подсчитывает все элементы массива (или объекта). Но ваше предположение о массиве, содержащем четыре элемента, неверно:

  • «1» равно 1, поэтому 1 => "B" перезапишет "1" => "A".
  • поскольку вы определили 1, следующим числовым индексом будет 2, например. "С" это 2 => "C"
  • когда вы присваивали 2 => "D", вы перезаписывали "C".

Таким образом, ваш массив будет содержать только 1 => "B" и 2 => "D", поэтому count дает 2. Вы можете проверить это, выполнив print_r($a). Это даст

Array
(
    [1] => B
    [2] => D
)

Пожалуйста, пройдите через http://www.php.net/manual/en/language.types.array.php еще раз.

28.09.2011

2

Вы можете использовать этот пример, чтобы понять, как count работает с рекурсивными массивами.

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// recursive count
echo count($food, COUNT_RECURSIVE); // output 8

// normal count
echo count($food); // output 2

?>

Источник

28.09.2011

3

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

print_r($a);
28.09.2011
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..