Как зациклить многомерный массив с условием и сосчитать его на другой странице Wordpress - PullRequest
0 голосов
/ 20 июня 2019

У меня есть массив базы данных со страницы Wordpress:

dev-user-20190424.php

<?php
$wb_users = array(
    array(

        "Username" => "Azmina",
        "Level" => "form-5",
        "School" => "KOLEJ D PATINGGI ABANG HJ ABDILLAH, SARAWAK",
        "SchoolID" => 4522,

    ),
    array(

        "Username" => "Gudako",
        "Level" => "form-5",
        "School" => "KOLEJ D PATINGGI ABANG HJ ABDILLAH, SARAWAK",
        "SchoolID" => 4522,

    ),
        array(

        "Username" => "Takatosaijo29",
        "Level" => "form-5",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN BAHANG, SABAH",
        "SchoolID" => 4210,

    ),
    array(

        "Username" => "Obon",
        "Level" => "form-5",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN BAHANG, SABAH",
        "SchoolID" => 4210,

    ),
    array(

        "Username" => "Rayana12",
        "Level" => "form-5",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN BAHANG, SABAH",
        "SchoolID" => 4210,

    ),
    array(

        "Username" => "kaiyuanbeh",
        "Level" => "form-5",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN PERMATANG RAWA, PULAU PINANG",
        "SchoolID" => 4250,

    ),
    array(

        "Username" => "Divyabharthi",
        "Level" => "form-5",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN PETALING, WP KL",
        "SchoolID" => 4244,
    ),
    array(

        "Username" => "blackchocolatecake",
        "Level" => "form-4",
        "School" => "SEKOLAH MENENGAH KEBANGSAAN POI LAM, PERAK",
        "SchoolID" => 4375,

    ),
    );

Итак, я пытаюсь достичьчтобы отобразить общее количество пользователей на другой странице WordPress, зациклив массив $ wb-users и, если SchoolID совпадает с текущей переменной user id школы, подсчитайте ее.Тогда общее количество пользователей будет отображаться на странице.

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Как насчет этого с array_count_values и array_column?

$counts = array_count_values((array_column($wb_users, 'SchoolID')));
print_r($counts);

Выход:

Array( 
        [4522] => 2 
        [4210] => 3 
        [4250] => 1 
        [4244] => 1 
        [4375] => 1 
)

DEMO: https://3v4l.org/hCvq5

0 голосов
/ 20 июня 2019

Я полагаю, что это в основном то, что вы ищете.

$schoolID = 4522;
$studentTotal = 0;
for ($i = 0; $i < count($wb_users); $i++) {
    if ($wb_users[$i]['SchoolID'] === $schoolID) {
        $studentTotal++;
    }
}

Вам необходимо 1. Перебрать массивы в основном массиве.2. Сравните ключ «SchoolID» с вашей переменной «ID школы».3. Увеличьте счетчик при совпадении.

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