小编Fay*_* D.的帖子

VS Code 上的 intelephense 错误:预期类型“字符串”。找到“字符串[]”

假设有下面一段代码:

<?php
declare (strict_types = 1);

define('SOURCE_PATH', 'C:\xampp\htdocs\atlantis\ProductImages\\');

$dest = explode('\\', SOURCE_PATH);
$dest[count($dest) - 2] = 'ToUpload';
$dest = implode('\\', $dest);

function transfer(string $file)
{
    global $dest;

    if (!@chdir($dest)) {
        mkdir($dest);
        chdir($dest);
    }

    // ...
}

function compress(string $path)
{
    global $dest;

    $zip = new ZipArchive();
    $zip->open(dirname($dest, 1) . '\\' . explode('\\', SOURCE_PATH)[count(explode('\\', SOURCE_PATH)) - 2] . '.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);

    // ...
}
Run Code Online (Sandbox Code Playgroud)

因此,VS Code 上的 intelephense 不断抱怨我在函数中Expected type 'string'. Found 'string[]'.使用的所有四个实例......$dest

intelephense 不喜欢我的代码的什么?请注意,页面运行良好... string[] 类型是什么? …

php visual-studio-code intelephense

7
推荐指数
1
解决办法
2万
查看次数

从表中获取以逗号分隔的一组值,其中另一个表上的另一个参考值出现两次(或多次)

假设 SQL Server 2014 中的数据库设置如下:

DECLARE @MATERIAL TABLE (ID int, CODE varchar(30));

INSERT @MATERIAL (ID, CODE) VALUES
(1, 'D3033MBBY'),
(2, 'D3033MBTY'),
(3, '011130-01'),
(4, '011130-04C'),
(5, '021002'),
(6, '021017-B'),
(7, '021134-01'),
(8, '021135-01'),
(9, '021955-01'),
(10, '3LS91101-550'),
(11, 'D3049MBRB'),
(12, 'EF0118'),
(13, 'FV8130'),
(14, 'FY7009'),
(15, 'H05802'),
(16, 'D3033MRTE');

DECLARE @SUBSTITUTE TABLE (ID int, ITEID int, SUBSTITUTECODE varchar(100));

INSERT @SUBSTITUTE (ID, ITEID, SUBSTITUTECODE) VALUES
(5232, 1, '191045762418'),
(5442, 2, '191045762418'),
(6435, 3, '5206432380030'),
(6573, 4, '5206432380030'),
(6582, 5, '5206432357131'),
(6683, …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2014

2
推荐指数
1
解决办法
721
查看次数