Введите регистрацию всех элементов массива

Есть ли какой-либо простой способ проверить, являются ли все элементы массива экземплярами определенного типа без цикличного выполнения все элементы? Или по крайней мере простой способ получить все элементы типа X от массива.

10
задан halfpastfour.am 18 July 2017 в 09:52
поделиться

4 ответа

Eclipse CDT позволяет записать прототип в файл заголовка и автоматически добавить его в файл C.

Instructions

  1. Add function prototype to .h file void foobar ()
  2. Выберите имя функции «foobar» (попробуйте дважды щелкнуть)
  3. На панели инструментов щелкните Source - > Implement Method
  4. Wizard it up

Это, вероятно, лучшее, что вы собираетесь выйти из окна

-121--2724930-

Существует ли какой-либо простой способ проверки того, что все элементы массива [что-то что-то] не закольцовывают все элементы?

Нет. Невозможно проверить все элементы массива без проверки всех элементов массива.

Хотя вы можете использовать массив _ обхода , чтобы сохранить себя написание шаблона самостоятельно.

-121--3147160-

Этого невозможно достичь без проверки всех элементов массива, но для помощи можно использовать встроенные функции массива.

Можно использовать array _ filter для возврата массива. Необходимо указать собственную функцию обратного вызова в качестве второго аргумента для проверки определенного типа. При этом проверяется, являются ли номера массива четными .

function even($var){
  return(!($var & 1));
}

// assuming $yourArr is an array containing integers.
$newArray = array_filter($yourArr, "even");
// will return an array with only even integers.

Согласно комментарию VolureK, начиная с PHP 5.3 + вы также можете передать анонимную функцию в качестве второго аргумента. Это эквивалентно приведенному выше примеру.

$newArray = array_filter($yourArr, function($x) { return 0===$x%2; } );
5
ответ дан 3 December 2019 в 23:49
поделиться
$s = array("abd","10","10.1");
$s = array_map( gettype , $s);
$t = array_unique($s) ;
if ( count($t) == 1 && $t[0]=="string" ){
    print "ok\n";
}
5
ответ дан 3 December 2019 в 23:49
поделиться

Есть ли простой способ проверить, все ли элементы массива [что-то, что-то], без зацикливания всех элементов?

Нет. Вы не можете проверить все элементы массива, не проверив все элементы массива.

Хотя вы можете использовать array_walk , чтобы не писать шаблон самостоятельно.

3
ответ дан 3 December 2019 в 23:49
поделиться

Вы также можете объединить array_walk с create_function и использовать анонимную функцию для фильтрации массива. Что-то вроде:

$filtered_array = array_filter($array, create_function('$e', 'return is_int($e)'))
0
ответ дан 3 December 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: