PHP. Как я могу проверить ВСЕ массив - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть этот код:

$data[1] = "blablabla";
$data[2] = "blablablabla";
if (strlen($data) < 10)
{
  // doing...
}

В этом коде я хочу проверить все элементы массива. Как это сделать?

Ответы [ 3 ]

4 голосов
/ 12 сентября 2011
foreach ($data as $element) {
    if (strlen($element) < 10) {
        // Do something
    }
}

Если вы хотите изменить данные, используйте ссылку (добавьте & перед $element):

foreach ($data as &$element) {
    if (strlen($element) < 10) {
        // Do something to $element
        $element = "something else";
    }
}

Если вы не хотите использовать ссылки напрямую, вы можете использовать стандартный цикл for с индексатором:

for ($i = 0; $i < count($data); $i++) {
    if (strlen($data[$i]) < 10) {
        // Do something with $data[$i]
        $data[$i] = "something else";
    }
}
0 голосов
/ 12 сентября 2011
for ($i = 0;$i < count($data);$i++){
    if (strlen($data[$i]) < 10){
        // process
    }
}
0 голосов
/ 12 сентября 2011

Использовать array_walk функцию PHP. На связанной странице руководства по PHP много примеров.

Также обратите внимание на функции array_map и array_filter .

...