Показать все переменные после php, если имя существует одним словом - PullRequest
0 голосов
/ 05 ноября 2019

Я хочу показать все переменные записи, если имя переменных имеет начало add-

, например: это полная строка с переменными записи:

Array ( [PartNumber] => sfd [Description] => dsf [Issue] => dfs [Customer] => J.C.B. SERVICE [widget7-table_length] => 5 [add_332/F2684] => [add_333/D1641] => sdf [add_333/D1202] => [add_332/F3144] => sdf [add_332/F3147] => sfd [makeassy] => )

Я хочу отобразить в массиветолько

[add_332/F2684] => [add_333/D1641] => sdf [add_333/D1202] => [add_332/F3144] => sdf [add_332/F3147] => sfd

Я пытаюсь

print_r($_POST['add_%']);

Но, как вы видите этот пост, он не работает. У вас есть идеи?

Ответы [ 3 ]

1 голос
/ 05 ноября 2019

Используйте array_filter для извлечения определенных ключей массива:

$output = array_filter($_POST, function($e) {
    return strpos($e, 'add_') === 0;
}, ARRAY_FILTER_USE_KEY);
0 голосов
/ 05 ноября 2019

Другое решение с Foreach

<?php
    $x = array(
         'PartNumber' => 'sfd',
         'Description' => 'dsf',
         'add_332/F2684' =>'asd', 
         'add_333/D1641' =>'sdf' ,
         'add_333/D1202' => 'asd',
         'TESTEST' => 'ASDASD' );

    $tmp = array();
    foreach($x as $key => $value)
    {
        if(substr( $key, 0, 3 ) === "add")
        {
            array_push($tmp,array($key =>$value));
        }
    }
    die(print_r($tmp));
?>

Вывод:

Array
(
    [0] => Array
        (
            [add_332/F2684] => asd
        )

[1] => Array
    (
        [add_333/D1641] => sdf
    )

[2] => Array
    (
        [add_333/D1202] => asd
    )

)
1
0 голосов
/ 05 ноября 2019

Вы можете попробовать preg_grep()

$res= preg_grep ('/^add_ (\w+)/i', $_POST);

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