将要输出的二进制数据写入文件中,方便查看。写入文件$number = 123;
$handle = fopen ("data.dat", "w");   
fwrite ($handle, pack ("L", $number));
fclose($handle);读取数据$handle = fopen ("data.dat", "rb");        
$data = fread ($handle, 4);        
$array = unpack ("L*", $data);  
print_r($array); 
如果我写入的是字符串,$number="中国人"
fwrite ($handle, pack ("L", $number));//pack 中存取方式改为 C/c 都无法正确的读取出来?
如果我要输出的数据流是一个数组怎么办?如:array("par1"=>array("sex","age"),"par2"=>array("ss","呵呵"))
怎样正确的输出为二进制数据
谢谢!

解决方案 »

  1.   

    //var_export$arr = array ('a', 'b', array ("c", "d", "e"));
    echo var_export ($arr);/* :
    array (
      0 => 'a',
      1 => 'b',
      2 => 
      array (
        0 => 'c',
        1 => 'd',
        2 => 'e',
      ),
    )
    */
      

  2.   

    //接上面
    $file_path = data.dat;
    $content = var_export ($arr);file_put_contents($file_path, $content, LOCK_EX);
      

  3.   

     
    amani11 没有看清楚问题,我是要的一个二维数据以二进制数据流的方式输出或者写入文件
      

  4.   

    感谢楼上的朋友,我现在的问题是怎样把一个PHP的二维数组写入到二进制文件中
      

  5.   

    文件里存储的是字符。
    不能是数组。
    要么把数组格式为:
    'array("par1"=>array("sex","age"),"par2"=>array("ss","呵呵"))'
    的形式存储。读取后eval();
    要么以json_encode存储,读取后json_decode.
    那么在php里也是数组了。
      

  6.   

    数组是一个结构,或是说是一个数据集合体
    你若是打算写成的文件给其他高级语言用,则应给出相应的数据结构
    如果仅仅是php自己使用,那么就没有必要这么做了