Только в случае, если вам действительно нужен array_fill_keys
-alike функцию и может жить со словарем:
Option Explicit
' stolen from http://php.net/manual/en/function.array-fill-keys.php:
' Fill a dictionary with values (xValue), specifying keys (aKeys)
' Fills a dictionary with the value of the xValue parameter, using the values of aKeys as keys.
Function array_fill_keys(aKeys, xValue)
Dim t : Set t = CreateObject("Scripting.Dictionary")
Dim k
For Each k In aKeys
t(k) = xValue
Next
Set array_fill_keys = t
End Function
Sub FEDicO(d, o)
Dim k
For Each k In d.Keys
o.apply d, k
Next
End Sub
Class cPPrintLn
Sub apply(d, k)
WScript.Echo " ", k, "=>", d(k)
End Sub
End Class
' $keys = array('foo', 5, 10, 'bar');
' $a = array_fill_keys($keys, 'banana');
' print_r($a);
' The above example will output:
' Array(
' [foo] => banana
' [5] => banana
' [10] => banana
' [bar] => banana
')
Dim aKeys : aKeys = Array("foo", 5, 10, "bar")
Dim dicX : Set dicX = array_fill_keys(aKeys, "Banana")
WScript.Echo "dicX:"
FEDicO dicX, New cPPrintLn
выход:
cscript 32219456.vbs
dicX:
foo => Banana
5 => Banana
10 => Banana
bar => Banana
Нет, потому что Visual Basic массивы не являются ассоциативные HashMaps как они находятся в PHP. Может быть, вы хотите использовать словарь? – SBI
Может быть. Проблема в том, как хранить словарные значения в текстовом файле? –
Сериализовать объекты. Однако это звучит немного как запах дизайна. Не могли бы вы добавить дополнительную информацию о том, чего вы пытаетесь достичь? – SBI