Привет, я знаю, это очень просто, но я застрял в этом.
Я выбираю данные с помощью соединения из базы данных. Теперь я получил значения в массиве. я хочу добавить эти два значения в переменную.
Код ниже ..
$sql = "SELECT event_details.max_team_size FROM booking_details INNER JOIN event_details on booking_details.subcategory_id=event_details.id WHERE booking_details.`booking_id` = ".$booking_id." ";
$command = Yii::$app->db->createCommand($sql);
$array = $command->queryAll();
$array
имеет такие значения, как это ..
Array
(
[0] => Array
(
[max_team_size] => 6
)
[1] => Array
(
[max_team_size] => 8
)
)
Я хочу добавить эти два max_team_size
в одну переменную и использовать это позже для сравнения.
$sum = 0;
foreach($array as $data){
$sum += $data->max_team_size;
}
echo $sum;
Сумма, которую вы можете получить из SQL, также используя SUM
функция
SELECT SUM(event_details.max_team_size) FROM booking_details...
В Yii решение будет
$sql = "SELECT SUM(event_details.max_team_size) as total FROM booking_details INNER JOIN event_details on booking_details.subcategory_id=event_details.id WHERE booking_details.`booking_id` = ".$booking_id." ";
$command = Yii::$app->db->createCommand($sql);
$array = $command->queryRow();
В PHP для суммирования определенного ключа в одном массиве вы можете преобразовать его в один массив с помощью array_column функция, а затем использовать функцию суммы
$array = array_column($array, 'max_team_size');
$total = array_sum($array);
Примечание: array_column будет работать PHP> = 5.5, для PHP < 5.5 вы можете использовать цикл foreach
Определите пустой массив следующим образом:
$maxArr = array();
Теперь вы можете запустить цикл foreach для вашего массива и добавить переменную.
Как это:
foreach($gotArr as $key=>$val){
}