2016-12-20 3 views
0

У меня есть 2 таблицы, это Request_Book и GudangPHP Сравнить массив CodeIgniter

Таблица Request_Book

title  | orderQuantity 
Harry putra | 12 
Guardion | 3 

Таблица Gudang

title  | Quantity 
Harry putra | 4 
Ben 7  | 2 

У меня есть несколько условий:

  • Количество Гуданга должно быть больше чем orderQuantity
  • Название Request_Book должно быть меньше или же с заголовком на Gudang

и в мой контроллер, я следующий код:

$cekBookRequest = $this->db->select("title, orderQuantity") 
          ->get('request_book')->result_array(); 

$cekGudang = $this->db->select("title, quantity") 
         ->get('stock_summary_warehouse')->result_array(); 

$result = $this->cek_values($cekBookRequest, $cekGudang); 
var_dump($result); 

А вот мое сравнение массив:

function cek_values($arrayA, $arrayB) { 
    sort($arrayA); 
    sort($arrayB); 
    return $arrayA == $arrayB; 
} 

Мой массив сравнения проверяет, что заголовок такой же или нет в обеих таблицах. Мое ожидание если Request_Book есть

title  | orderQuantity 
Harry putra | 2 
Ben 7  | 2 

, который будет возвращать истинную или просто если Request_Book

title  | orderQuantity 
Harry putra | 2 

, которые также возвращают истинной

В первом таблиц выше будет возвращать ложные, потому что титул Хранитель в Гуданге не существует, а количество Гарри пудра - 12. Как проверить и сравнить название и количество в массивах на функции cek_values?

ответ

0

В самом деле, я не понял условий, которые вы хотели ... Тем не менее, я думаю, что вы должны изменить свои массивы. Поскольку у вас есть только две части информации, вы должны использовать значение key =>. Я имею в виду:

  1. Foreach модифицировать массивы:

    foreach ($arrayA as $row) { 
    $book[row['title']] = row['OrderQuantity']; 
    } 
    foreach ($arrayB as $row2) { 
    $gudang[row2['title']] = row2['Quantity']; 
    } 
    
  2. Затем с помощью PHP функции У вас есть несколько функций для сортировки ключей и значений: http://php.net/manual/en/array.sorting.php

  3. можно сравнить с помощью PHP функций ,

Используйте foreach для сравнения массивов или array_diff(), это поможет. Дай мне знать.

Смежные вопросы