[PHP-users 10945] Re: 参照渡し引数を配列に入れて変更する方法
WADA Masashi
php-users@php.gr.jp
Fri, 18 Oct 2002 20:32:11 +0900
和田です。
aiko wrote:
>以下のような”年月日時分秒”を得る関数を作成し、
>月日時分秒が一桁だった場合は、頭に0を追加したいと考えています。
>その際、
>if( $mm < 10)
>{
> $mm = "0". $mm
>}
sprintf()を使った方が簡単ですね。
>上記のソースでは
>引数を参照渡しにしているため、配列の中身が変更されるだけで
>実際の引数の中身は変更されません。
>(まあ、当たり前なのですが…)
最近話題になった array_walk を使うというのはどうですか?
----
$a = array(
"yaer" => 2002,
"month" => 12,
"day" => 3,
"hour" => 4,
"min" => 56,
"sec" => 7
);
function padding0(&$item, $key) {
$item = sprintf("%02d", $item);
}
array_walk($a, 'padding0');
print_r($a);
----
----
和田雅志 (WADA Masashi)
wada@hh.iij4u.or.jp