> 백엔드 개발 > PHP 튜토리얼 > 关于array_diff函数的问题

关于array_diff函数的问题

WBOY
풀어 주다: 2016-06-23 13:42:21
원래의
798명이 탐색했습니다.

我用array_diff对比读取到的txt文件标题是否和我设定的一样,其中最后一个字段始终判定为不一样,表面看最后一个字段多了一个空格,我加了一个空格,也判定不一样,请问我用什么方法看txt文件最后一个字段的内容是什么??


回复讨论(解决方案)

把??txt??base64,再看看是否相同。

可以把你的代码粘贴出来吗???

需要看到你的代码和测试数据

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结果,最后部分不一样

那个DQ==是什么??我不加空格编码就是ZGVsaXZlcnktSW5zdHJ1Y3Rpb25z

base64 编码的:
DQ== 是回车符 0x0d (chr(13))
IA== 是空格符 0x20 (chr(32))

一般情况下首尾的空白字符是可忽略的,所以宜 trim 一下
$ar = array_diff(array_map('trim', $array), array_map('trim', $value));

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿