私はBashでスクリプトを書いています。
次のように配列にレコードを配置すると、連想配列に問題が発生します。
declare -A arr_list_people_name
連想配列にテキストをループで配置する方法(テキストを並べ替える):
arr_list_people_name[$peopleId]+=$peopleName
配列の読み方:
for KEY in "${!arr_list_people_name[@]}"; do
# Print the KEY value
echo "Key: $KEY"
# Print the VALUE attached to that KEY
echo "Value: ${arr_list_people_name[$KEY]}"
done
私のリストは、私がそれを記録した方法と比較して同じ順序ではありません。ただし、配列に記録した方法と同じ順序(値またはキーでソート)を見つけたいと思います。
それを管理する方法を知っていますか?
キーを追加する順序でキーを格納するには、2番目のインデックス付き配列を使用する必要がありますarr_list_people_name
。
...
arr_list_people_name[$peopleId]+=$peopleName
arr_order+=("$peopleId")
...
for id in "${arr_order[@]}"; do
echo "Key: $id"
echo "Value: ${arr_list_people_name[$id]}"
done
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加