Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 特定变量的Powershell | Sort cmdlet排序_Arrays_Powershell_Sorting - Fatal编程技术网

Arrays 特定变量的Powershell | Sort cmdlet排序

Arrays 特定变量的Powershell | Sort cmdlet排序,arrays,powershell,sorting,Arrays,Powershell,Sorting,我想对数组进行排序。 数组包含多个文本、数字和变量字符串。 数组应在最后一个变量(数字)之后排序 整个操作如下所示: function mainLoop { a b c d getTogether } function a { $Ranking = 4409 $global:statement1 = "Lorem 903 ipsum dolor $Ranking" } function b { $Ranking = 1294

我想对数组进行排序。 数组包含多个文本、数字和变量字符串。 数组应在最后一个变量(数字)之后排序

整个操作如下所示:

function mainLoop {
    a
    b
    c
    d

    getTogether
}

function a {
    $Ranking = 4409
    $global:statement1 = "Lorem 903 ipsum dolor $Ranking"
}
function b {
    $Ranking = 1294
    $global:statement2 = "Lorem 186 ipsum dolor $Ranking"    
}
function c {
    $Ranking = 5502
    $global:statement3 = "Lorem 545 ipsum dolor $Ranking"
}
function d {
    $Ranking = 8192
    $global:statement4 = "Lorem 44 ipsum dolor $Ranking"
}
function getTogether {
    $array = @($statement1, "", $statement2, "", $statement3, "", $statement4)
    $array = $array | sort
    $array
    pause
}

mainLoop
因此,这一个只是排序后,其他现有的数字,甚至在字母表。事实上,我需要在变量$Ranking之后进行排序


感谢您的帮助

您的代码没有任何意义(为什么要使用数组和全局变量?),但下面介绍如何对
$Ranking

$Array = $Array | Sort-Object -Property @{Expression={[Int]($PSItem -split '\s')[-1]}}

提示:
(“abcd”-Split“\s+”[-1]
。我不同意你的观点,事实上我的代码做了它应该做的;-)当然,也许还有更好的方法。我使用全局变量,因为否则它们不会提供最后一个函数中的值。。不过,你的把戏解决了问题,非常感谢@Philee我建议阅读关于全局变量的最佳实践(一般而言),但我很高兴这个解决方案对您有效。