2010-12-31 13 views
1

どうすればループとして実行できますか?アレイの各要素に対して手動で行う必要はありませんか?どのようにループでこれを行うことができますか?配列データに対して手動で行う必要はありません[

$filename=$_POST['filename']; 
$handle = fopen("$filename", "r"); 
while (($data = fgetcsv($handle, 5000, ",")) !== FALSE) 
{ 
    $data[0] = mysql_escape_string($data[0]); /// customer id 
    $data[1] = mysql_escape_string($data[1]); /// first name 
    $data[2] = mysql_escape_string($data[2]); /// last name 
    $data[3] = mysql_escape_string($data[3]); /// email 
    $data[4] = mysql_escape_string($data[4]); /// phone 
    $data[5] = mysql_escape_string($data[5]); /// mobile 
    $data[6] = mysql_escape_string($data[6]); /// website 
    $data[7] = mysql_escape_string($data[7]); /// DOB 
    $data[8] = mysql_escape_string($data[8]); /// spouse first name 
    $data[9] = mysql_escape_string($data[9]); /// spouse last name 
    $data[10] = mysql_escape_string($data[10]); /// spouse cell 
    $data[11] = mysql_escape_string($data[11]); /// spouse email 
    $data[12] = mysql_escape_string($data[12]); //// created by 
    $data[13] = mysql_escape_string($data[13]); //// created on 
} 
+1

警告:お使いのキーボードのキャップロックが壊れている –

答えて

2

のようなもの: - あなたの中loop

$count=count($data); 
    for ($i=0; $i< $count; $i++) 
    { 
     $data[$i] = mysql_escape_string($data[$i]); 
    } 
+0

私はこれを使用しなければなりませんwhileループ内でループするか? –

+0

はい、助けを –

+0

thankxを使用することができます.... –

0

でこれを入れ

また、あなたのwhileループでこれを置くことができます。

$data = array_map("mysql_escape_string", $data); 

私がテストしていませんそれはかもしれない速くなるかもしれません。

編集: "$ data =" - jon_darkstarが指摘したように、array_mapがパラメータとして提供された配列を変更していないことを示すため、それを割り当てる必要があります。

+0

wow :) thats興味深い:) –

+0

マップは、場所で変更されません、割り当てるか、またはarray_walkを使用する必要があります –

1

array_map、array_walk、またはforeach。 FPの意味でのマップのようなものですarray_mapをループ

$dataSafe = array_map('mysql_escape_string', $data); 

または

array_walk($data, function(&$x) {$x = mysql_escape_string($x);}); 

注意が、それは新しい配列を返しながら、内部で(!そして唯一の)これらのものを入れて、あなたは、割り当てる必要があります。 &

http://php.net/manual/en/function.array-walk.php
を使用する場合はあるarray_walkが所定の位置にあなたの配列を変更することができ http://php.net/manual/en/function.array-map.php

foreach(&$data as $x) 
    $x = mysql_escape_string($x) 

PS - mysql_real_escape_stringが好ましい

関連する問題