You may be in a situation where you have a delimited array, and a single string, which you need to combine and use in a copyindex function or something like that:

  
"stringparam"{
   
"type": "string"
  
"value": "one,two,three,four,five"
  
}
  

and, below “six” is the single string when you need to add.

  
"six"
  

For e.g. you might have standardized webapp names, mostly with the same settings. However one or two of them might need specifically different settings. This means out of your six string array, five of the webapps are the same but one has slightly different settings, but you don’t want to create an entire new app service plan etc. just for that one thing.

With the above example, your “six” webapp can be used elsewheres without being tied to the rest of the group. You can selectively use it with them or not, where you like. This gives you great flexability, while working within the constraints of JSON and the ARM engine.

How do you combine them for, for correct use throughout your template?

Here is how:

  
"variablename": "[concat(split(parameters('stringparam'), ','), split('six', "))]",
  

Basically we split the single string “six”, with nothing. I found when just trying to concat the string “six”, it was erroring. I had to keep it as a split.

Then can be used like so:

  
[concat('http://www-', parameters('Environment'), '-website-',variables('variablename')[copyIndex()])]