Как я могу сделать, если заявление, используя номер массива в PHP? - PullRequest
1 голос
/ 06 января 2010

Функция findParent () найти массив.Может быть один массив или более одного.

Теперь я хочу сделать, если оператор зависит от номера массива.

Как я могу сделать, если оператор использует номер массива?

function findParent($order_id){

  ...
  $Q = $this->db->get('omc_order_item');
        if ($Q->num_rows() > 0){
            foreach ($Q->result_array() as $row){
                $data[] = $row;
            }
        }
   ... 
   return $data; 

 }

Я пробовал это, но это не работает.

function deleteitem($order_id){
    $childless = $this->MOrders->findParent($order_id);
    if ($childless<2){
        $data['childlessorder']= $this->MOrders->findParent($order_id);
...

Должно быть проверено, меньше ли $ childless 2.

Как я могу изменить это такчто он проверит номер массива 1 (может быть меньше 2, не так ли?)

Ответы [ 3 ]

2 голосов
/ 06 января 2010

Я считаю, что вам нужна функция count(). Вы передаете ему массив, и он возвращает количество элементов в массиве. Увидеть: http://php.net/manual/en/function.count.php

1 голос
/ 06 января 2010

Если вы имеете в виду количество массивов, то

if (count($childless) < 2)

Из вашего примера похоже, что функция findParent() возвращает массив массивов. Для сравнения с количеством массивов, содержащихся в результирующем массиве, вы должны использовать функцию count(array()).

Возвращает количество элементов массива в массиве, переданных в качестве аргумента.

Например

echo count(
    array(
        0 => array(1,2),
        1 => array(3,4)
    )
);

выдаст 2

Документацию см. На странице php.net / count .

0 голосов
/ 06 января 2010

$ childless содержит много информации, а не только количество строк, вам нужно извлечь количество строк из $ childless. if (count($childless) < 2 ) например

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...