为什么子字符串不起作用?有什么方法可以将结果字符串化吗?

时间:2019-11-10 12:32:10

标签: php laravel amazon-s3

我有当前模块,我需要在其中列出从S3 AWS到html表的所有zip文件。现在我想对数字的2位和最后一位进行子字符串化。但是,当我尝试var dump结果仍然是相同的数字时,substr无法正常工作,您可以帮我找出解决方法吗?。

示例。

数字:1150

结果必须为:11和50

我将向大家展示我已经创建的示例代码。

    $storage = Storage::disk('s3');
    $client = $storage->getAdapter()->getClient();
    $command = $client->getCommand('ListObjects');
    $command['Bucket'] = $storage->getAdapter()->getBucket();
    $command['Prefix'] = '11-10-2019';
    $result = $client->execute($command);



    foreach ($result['Contents'] as $file) {

        $base_name = basename($file['Key']);
        $trim_1 = str_replace('exp', '', $base_name);
        $trim_2 = substr($trim_1, 1, -4);
        var_dump($trim_2);  



    }

我的输出是这样

enter image description here

1 个答案:

答案 0 :(得分:2)

$number = 1150;

$trim1 =  substr($number, 0, 2);
$trim2 = substr($number,-2);

echo $trim1;
echo $trim2;

根据您的要求,您可以通过执行类似的操作来实现此目标。

输出为11和50

由于您使用的是laravel,因此可以使用laravel helper进行几乎相同的操作,并进行以下操作:

Str::substr($number, 2);
Str::substr($number, -2);

别忘了在文件顶部添加帮助程序:

use Illuminate\Support\Str;