[PHP-users 10917] Re: 配列を走査するには

Moriyoshi Koizumi php-users@php.gr.jp
Thu, 17 Oct 2002 16:09:41 +0900


小泉です。

あとは、

<?php

$i = count($ary); while( --$i >= 0 ) {
  $ary[$i] = addslashes($ary[$i]);
}

?>

これしか思いつきませんが。どうなのでしょう。

Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp> wrote:

> 重松です。こんにちは。
> 
> 今、文字列を含んだ一次元の配列があり、
> これに対して addslashes() を適用したいと思います。
> 
> とりあえず、
> 
> $tmp = array();
> foreach($ary as $key => $val){
> 	$tmp[$key] = addslashes($val);
> }
> $ary = $tmp;
> 
> とすればいいんでしょうが、やりたいことは、
> $val が値のコピーではなくて、値への参照をとりたい、
> ということです。
> 
> c で書けば、
> 
> char* a[10];
> 
> for(size_t i= 0; i < sizeof(a); ++i){
> 	for(char* p = a[i]; *p; ++p){
> 		if(*p >= 'A' && *p <= 'Z')
> 			*p -= 'a' - 'A';
> 	}
> }
> 
> のようにコピーをとらずに値を直接触りたいのです。
> 
> array_walk() 使えば済む問題かもしれませんが、
> 使わないでやる方法があれば、ご教授ください。