<?php
$ar =
array('mopo_1' => 'honta', 'hinta' => 200, 'mopo_2' => 'jamaha', 'hinta' => 320, 'mopo_3' => 'susuki', 'hinta' => 310);
function array_key_exists_wildcard ( $array, $search, $return = '' ) {
$search = str_replace( '\*', '.*?', preg_quote( $search, '/' ) );
$result = preg_grep( '/^' . $search . '$/i', array_keys( $array ) );
if ( $return == 'key-value' )
return array_intersect_key( $array, array_flip( $result ) );
return $result;
}
$search = 'mopo*';
print_r( array_key_exists_wildcard( $ar, $search ) );
print_r( array_key_exists_wildcard( $ar, $search, 'key-value' ) );
- Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- Array
(
[0] => mopo_1
[2] => mopo_2
[3] => mopo_3
)
Array
(
[mopo_1] => honta
[mopo_2] => jamaha
[mopo_3] => susuki
)
preferences:
160.9 ms | 404 KiB | 230 Q