substr_count和strtolower一起使用会产生不一致的结果

时间:2016-07-28 09:40:01

标签: php

我试图使用substr_count来检查特定字符串的出现次数。但是这段代码似乎给出了不一致的结果。

有时它回应1,有时为0.我想知道是否有人可以向我解释为什么会发生这种情况?谢谢!

$val = "hello world ansprüche theme park";
$ne = "ansprüche";
echo substr_count(strtolower($val),$ne);

1 个答案:

答案 0 :(得分:0)

在您的字符串拉丁章程“ansprüche”。首先,您必须将使用UTF-8编码的ISO-8859-1字符转换为单字节ISO-8859-1。

使用以下代码。它工作正常。

async.eachLimit(files, 10, function(file, next) {
    var params = {
        Bucket: bucket, // bucket name
        Key: file.key
    };
    s3.getObject(params, function(err, data) {
        if (err) {
            console.log('file', file.key);
            console.log('get image files err',err, err.stack); // an error occurred
        } else {
            console.log('file', file.key);
            zip.file(file.key, data.Body);
            next();
        }
    });
}, 
function(err) {
    if (err) {
        console.log('err', err);
    } else {
        console.log('zip', zip);
        content = zip.generateNodeStream({
            type: 'nodebuffer',
            streamFiles:true
        });
        var params = {
            Bucket: bucket, // name of dest bucket
            Key: 'zipped/images.zip',
            Body: content
        };
        s3.upload(params, function(err, data) {
            if (err) {
                console.log('upload zip to s3 err',err, err.stack); // an error occurred
            } else {
                console.log(data); // successful response
            }
        });
    }
});