小编paj*_*paj的帖子

PHP字符串比较

当我回显它时,我有两个看起来相同的字符串,但是当var_dump()它们出现时,它们是不同的字符串类型:

Echo:
http://blah
http://blah
var dump:
string(14) "http://blah"
string(11) "http://blah"
strToHex:
%68%74%74%70%3a%2f%2f%62%6c%61%68%00%00%00
%68%74%74%70%3a%2f%2f%62%6c%61%68
Run Code Online (Sandbox Code Playgroud)

当我比较它们时,它们会返回false.如何操作字符串类型以便我可以执行返回true的比较.字符串11和字符串14有什么区别?我确信有一个简单的解决方案,但还没有找到任何东西,无论我如何内爆,爆炸,UTF8编码等他们不会比较或更改类型的字符串.

谢谢你的帮助!

彼得.

php string comparison types

12
推荐指数
3
解决办法
4533
查看次数

亚马逊MWS Api SubmitFeed _POST_FLAT_FILE_INVLOADER_DATA_错误的模板类型错误

我正在使用亚马逊MWS PHP MarketplaceWebService PHP API将库存Feed数据提交给亚马逊.

https://docs.developer.amazonservices.com/en_US/feeds/Feeds_SubmitFeed.html

我可以通过卖家中央上传库存gui手动提交我生成的库存装载机平面文件而不会出错.

使用API​​中的SubmitFeed示例提交相同的平面文件我总是得到"不正确的模板类型错误".

我的身份验证和市场数据都是正确的.

Feed数据是$ _feed,我正在从api创建feed数据流

$feedHandle = fopen('php://temp', 'rw+');
fwrite($feedHandle, $_feed);
rewind($feedHandle);
Run Code Online (Sandbox Code Playgroud)

并使用亚马逊的示例代码提交它

$marketplaceIdArray = array("Id" => array(MARKETPLACE_ID));


$parameters = array (
  'Merchant' => MERCHANT_ID,
  'MarketplaceIdList' => $marketplaceIdArray,
  'FeedType' => '_POST_FLAT_FILE_INVLOADER_DATA_',
  'FeedContent' => $feedHandle,
  'PurgeAndReplace' => false,
  'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
);

rewind($feedHandle);

$request = new \MarketplaceWebService_Model_SubmitFeedRequest($parameters);

$_result=$this->invokeSubmitFeed($service, $request);
Run Code Online (Sandbox Code Playgroud)

Feed提交没有错误,但是当我检查提交状态时,我总是从Amazon获得不正确的模板类型错误.

如果我将feed数据写入单独的文件,或者获取流的副本并将其写入测试文件,例如

// TEST copy submitted file to temp file
$copystream = fopen('/copystream.txt', 'w');
stream_copy_to_stream($streamHandle, $copystream);
Run Code Online (Sandbox Code Playgroud)

我可以确认亚马逊MWS API卷曲上传(在client.php中)使用的数据是正确的,因为我也可以通过卖家中心手动上传此测试文件(copystream.txt)而不会出错. …

php curl amazon-mws

10
推荐指数
1
解决办法
2334
查看次数

标签 统计

php ×2

amazon-mws ×1

comparison ×1

curl ×1

string ×1

types ×1