来自已解析 CSV 的静态变量?
Static variable from parsed CSV?
全局变量不受欢迎,建议经常使用静态变量代替它。
我需要能够让我从 CSV 文件中获取的变量可供 php 文件中的任何函数访问。
如果我正在为变量解析 CSV 文件,是否可以这样做?
例如,如何使 $name
和 $table
可用于文件中的任何函数?:
<?php
$f_pointer=fopen("student.csv","r"); // file pointer
while(! feof($f_pointer)){
$ar=fgetcsv($f_pointer);
$name = $data[0];
$table = $data[3];
echo print_r($ar); // print the array
echo "<br>";
}
?>
您可以从该函数创建一个 class 并将此函数的结果 return 作为成员函数。我们可以使用多维数组作为我们的 return.
class My_Class{
public $array;
public function get()
{
$this->array = array();
while(! feof($f_pointer)){
$ar=fgetcsv($f_pointer);
$name = $data[0];
$table = $data[3];
$this->array[] = array(
'name' => $name,
'table' => $table,
'ar' => $ar
);
}
return $this->array();
}
}
那么可以这样初始化:
$My_Class = new My_Class;
echo '<pre>', print_r($My_Class->get(), true),'</pre>';
这将生成一个多维数组,其中包含我们在 while 案例中迭代的数据。
全局变量不受欢迎,建议经常使用静态变量代替它。
我需要能够让我从 CSV 文件中获取的变量可供 php 文件中的任何函数访问。
如果我正在为变量解析 CSV 文件,是否可以这样做?
例如,如何使 $name
和 $table
可用于文件中的任何函数?:
<?php
$f_pointer=fopen("student.csv","r"); // file pointer
while(! feof($f_pointer)){
$ar=fgetcsv($f_pointer);
$name = $data[0];
$table = $data[3];
echo print_r($ar); // print the array
echo "<br>";
}
?>
您可以从该函数创建一个 class 并将此函数的结果 return 作为成员函数。我们可以使用多维数组作为我们的 return.
class My_Class{
public $array;
public function get()
{
$this->array = array();
while(! feof($f_pointer)){
$ar=fgetcsv($f_pointer);
$name = $data[0];
$table = $data[3];
$this->array[] = array(
'name' => $name,
'table' => $table,
'ar' => $ar
);
}
return $this->array();
}
}
那么可以这样初始化:
$My_Class = new My_Class;
echo '<pre>', print_r($My_Class->get(), true),'</pre>';
这将生成一个多维数组,其中包含我们在 while 案例中迭代的数据。