В PHP, как я добавляю к дополненной нулем числовой строке и сохраняю нулевое дополнение?

Я сам использовал Workflow, чтобы решить эту проблему. Несколько лет назад я это сделал, так что что-то лучше и новее. Но это прекрасно работает для меня ... За несколько минут я пингую более 2000 компьютеров ...

workflow Test-ComputersConnection
{
Param
(
    # Param1 help description
    $Computernames#,

    # Param2 help description
    #        [int]
    #        $Param2
)

foreach -parallel ($ComputerName in $Computernames)
{
    $ConnectionTest = Test-Connection -ComputerName $ComputerName -ErrorAction SilentlyContinue -Count 1

    if ($ConnectionTest.Address -eq $ComputerName) {
        Write-Output $(Add-Member -MemberType NoteProperty -Name "Computername" -Value $ComputerName -InputObject $ConnectionTest -PassThru )
        #Write-Verbose -Verbose -Message "[$($ComputerName)]: Replays on Ping."
    }
    Else {
        #Write-Verbose -Verbose -Message "[$($ComputerName)]: Do not replays on Ping."
    }
}
}

$OnlineNow0 = Test-ComputersConnection -Computernames $( Import-Csv -Path D:\ipcheck3.csv -UseCulture |
Select-Object -ExpandProperty name)

Приведенный выше код является быстрым редактированием того, что я использую ... Сначала вам нужно будет отредактировать оператор $ (Import ...), чтобы убедиться, что имя ПК передается в рабочий процесс. [ 112]

Я только что проверил на своем компьютере, и он дал мне ответ ...

11
задан Josh Crozier 8 December 2013 в 04:30
поделиться

3 ответа

$foo = sprintf('%04d', $foo + 1);
21
ответ дан 3 December 2019 в 01:09
поделиться

Другая опция является str_pad () функция.

$text = str_pad($text, 4, '0', STR_PAD_LEFT);
9
ответ дан 3 December 2019 в 01:09
поделиться

Это, вероятно, помогло бы Вам понять типы данных PHP и как они затронуты, когда Вы делаете операции к переменным различных типов. Вы говорите, что у Вас есть "переменная в PHP, говорят 0001", но какой тип, который является переменным? Вероятно, строка, "0001", начиная с целого числа не может иметь того значения (это всего 1). Таким образом, когда Вы делаете это:

echo ("0001" + 1);

... + оператор говорит, "Гм, это - строка и целое число. Я не знаю, как добавить строку и интервал, Но я ДЕЙСТВИТЕЛЬНО знаю, как преобразовать строку В интервал и затем добавить два ints вместе, таким образом позвольте мне сделать это", и затем это преобразовывает "0001" в 1. Почему? Поскольку в правилах PHP для преобразования строки к целому числу говорится, что любое количество продвижения обнуляет в строке, отбрасываются. Что означает, что строка "0001" становится 1.

Затем + говорит, "Эй, я знаю, как добавить 1 и 1. Это 2!" и вывод того оператора равняется 2.

12
ответ дан 3 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: