Есть ли способ внедрить ключ и значения ассоциативного массива в PHP без использования foreach или другой функции? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть ассоциативный массив, подобный этому:

$myarray = array('a' => 1, 'b' => 2, 'c' => 3);

И я хочу показать ключи массива и значения, подобные этому:

a is 1, b is 2, c is 3

Я не хочу этого делатьиспользуя print_r или var_dump.И я тоже не хочу использовать цикл foreach.Я просто хочу использовать короткий код, я пробовал это:

echo implode('', $myarray);

Но это тоже не работает, потому что я могу только отображать ключ или только отображать значение массива.

Ответы [ 3 ]

2 голосов
/ 07 марта 2019

Отметьте этот один вкладыш,

echo implode(',', array_map(function ($a, $b) { return "$a is $b"; }, 
array_keys($myarray),array_values($myarray)));

array_map - Применяет обратный вызов к элементам заданных массивов
array_values ​​ - Возвращает все значениямассива
array_keys - вернуть все ключи или подмножество ключей массива
implode - объединить элементы массива строкой

Рабочий код .

0 голосов
/ 07 марта 2019

Поскольку в PHP так много основных функций, это может быть сделано разными способами, но я обнаружил, что один из них быстрее, чем большинство других ...

<?php

$myarray = array ( 'a' => 1, 'b' => 2, 'c' => 3 );

echo str_replace ( array ( '&', '=' ), array ( ', ', ' is ' ), http_build_query ( $myarray ) );

?>
0 голосов
/ 07 марта 2019

Попробуйте,

array_walk($myarray,'test_print');
function test_print($value, $key) {
    echo "$key is $value\n";
}

Испытано и проверено КОД

...