Как ограничить массив в массиве - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу ограничить каждый массив, я пытался с этим кодом не работает, плз решил это спасибо заранее.МОЙ КОД:

    $a = [
            "name1" => ['Dewa','Aditya','Pratama'],
            "name2" => ['Brian','Dzikri','Ramadhan'],
    ];

    $result_shortdes = "";
    foreach ($a as $values) {
        foreach ($values as $value) {
            if(strlen($result_shortdes) + strlen($value) <= 15)
            {
                $result_shortdes .= "$value,";
            }
        }
    }

    echo '<pre>';
    print_r($result_shortdes);
    echo '<pre>';

Мое ожидаемое значение примерно так: 1. Дева, Адитья, 2. Брайан,

Значение выше, поскольку строка не достигает 15 символов.

Пожалуйста, помогите мне решить эту проблему, спасибо.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

вы можете использовать $result_shortdes для длины и $result для сохранения результата, как показано ниже

$a = [
                "name1" => ['Dewa','Aditya','Pratama'],
                "name2" => ['Brian','Dzikri','Ramadhan'],
        ];

        $result_shortdes = "";
        $result = [];
        foreach ($a as $values) {
            $result_shortdes = "";
            foreach ($values as $value) {
                if(strlen($result_shortdes) + strlen($value) <= 15)
                {
                    $result_shortdes .= "$value,";
                }else{
                   $result[] = $result_shortdes;
                   break;
               }
            }
        }

        echo '<pre>';
        print_r($result);
        echo '<pre>';
0 голосов
/ 05 февраля 2019

Каждый раз, когда вы переходите к следующему имени, вам нужно сбросить result_shortdes, чтобы снова посчитать длину имени, поместите переменную в первый цикл следующим образом:

    foreach ($a as $values) {
        $result_shortdes = "";
        foreach ($values as $value) {
            if(strlen($result_shortdes) + strlen($value) <= 15)
            {
                $result_shortdes .= "$value,";
            }
        }
        echo '<pre>';
        print_r($result_shortdes);
        echo '<pre>';
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...