"PHP" / Говнокод #21913 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
//проверка на одномерность массива
function mp_array_is_simple($array) {
    return count($array, COUNT_NORMAL)===count($array, COUNT_RECURSIVE);
}

Портальная система Жираф. Проверка на одномерность массива.

Запостил: roman_gemini roman_gemini, (Updated )

Комментарии (40) RSS

  • Есть проблема: в PHP по сути нет многомерных массивов. Есть кортежи полиморфные массивы, т. е. массивы, элементами которых являются произвольные объекты.

    Вот это двумерный массив:
    array(
      array(11, 12, 13),
      array(21, 22, 23),
      array(31, 32, 33)
    )


    Являются ли двумерными следующие массивы?
    $a = array(
      array(11, 12, 13),
      array(21, 22),
      array(31)
    );
    
    $b = array(
      array(11, function(){return 3.14;}, 13),
      array(21, 22, array(231, 232)),
      array(object(), 32, 'Hello, world!')
    );


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

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8