关于array_diff函数的问题

zhuhao 2014-12-29 04:47:52
我用array_diff对比读取到的txt文件标题是否和我设定的一样,其中最后一个字段始终判定为不一样,表面看最后一个字段多了一个空格,我加了一个空格,也判定不一样,请问我用什么方法看txt文件最后一个字段的内容是什么??
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-12-29
  • 打赏
  • 举报
回复
base64 编码的: DQ== 是回车符 0x0d (chr(13)) IA== 是空格符 0x20 (chr(32)) 一般情况下首尾的空白字符是可忽略的,所以宜 trim 一下 $ar = array_diff(array_map('trim', $array), array_map('trim', $value));
zhuhao 2014-12-29
  • 打赏
  • 举报
回复
那个DQ==是什么??我不加空格编码就是ZGVsaXZlcnktSW5zdHJ1Y3Rpb25z
zhuhao 2014-12-29
  • 打赏
  • 举报
回复

private function CheckFileType($array){
    $type="";
    foreach($this->filetypearray as $name=>$value){
        $ar=array_diff($array,$value);
         if(empty($ar)){
            $type=$name;
        }
       }
    return $type;
  }

private   $filetypearray=array(
                            'downloadfile'=>array('order-id','order-item-id','purchase-date','payments-date','buyer-email',
                                                  'buyer-name','buyer-phone-number','sku','product-name','quantity-purchased','currency','item-price',
                                                  'item-tax','shipping-price','shipping-tax','ship-service-level','recipient-name','ship-address-1',
                                                  'ship-address-2','ship-address-3','ship-city','ship-state','ship-postal-code','ship-country',
                                                  'ship-phone-number','delivery-start-date','delivery-end-date','delivery-time-zone',"delivery-Instructions ") 
  );


 $order['28']='('.base64_encode($more[28]).')';
 $order['29']='('.base64_encode($this->filetypearray['downloadfile'][28]).')';

[28] => (ZGVsaXZlcnktSW5zdHJ1Y3Rpb25zDQ==)
[29] => (ZGVsaXZlcnktSW5zdHJ1Y3Rpb25zIA==)

两个字段的base64结果,最后部分不一样
xuzuning 2014-12-29
  • 打赏
  • 举报
回复
需要看到你的代码和测试数据
「已注销」 2014-12-29
  • 打赏
  • 举报
回复
可以把你的代码粘贴出来吗???
傲雪星枫 2014-12-29
  • 打赏
  • 举报
回复
把兩個txt轉為base64,再看看是否相同。
array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values -- 统计数组中所有的值出现的次数 array_diff_assoc -- 带索引检查计算数组的差集 array_diff_key -- 使用键名比较计算数组的差集 array_diff_uassoc -- 用用户提供的回调函数做索引检查来计算数组的差集 array_diff_ukey -- 用回调函数对键名比较计算数组的差集 array_diff -- 计算数组的差集 array_fill -- 用给定的值填充数组 array_filter -- 用回调函数过滤数组中的单元 array_flip -- 交换数组中的键和值 array_intersect_assoc -- 带索引检查计算数组的交集 array_intersect_key -- 使用键名比较计算数组的交集 array_intersect_uassoc -- 带索引检查计算数组的交集,用回调函数比较索引 array_intersect_ukey -- 用回调函数比较键名来计算数组的交集 array_intersect -- 计算数组的交集 array_key_exists -- 检查给定的键名或索引是否存在于数组中 array_keys -- 返回数组中所有的键名 array_map -- 将回调函数作用到给定数组的单元上 array_merge_recursive -- 递归地合并一个或多个数组 array_merge -- 合并一个或多个数组 array_multisort -- 对多个数组或多维数组进行排序 array_pad -- 用值将数组填补到指定长度 array_pop -- 将数组最后一个单元弹出(出栈) array_product -- 计算数组中所有值的乘积

21,888

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧