如何从变量中传递函数中的变量

I have a problem with creating a query through a function (all others variables works correctly) I have a function that doesn't print variables correctly (exactly $NomiFarmacie and $day)

//The problem is present in this function
function Cicla($Periodo, $FarmacieRiordinate, $Query) {
    global $tabella_calendario, $count; //them works

    foreach ($Periodo as $giorno)   {
        $day = $giorno->format("Y-m-d");
        $NomiFarmacie = addslashes($FarmacieRiordinate[$count % count($FarmacieRiordinate)]);

        echo $NomiFarmacie; echo $day; //Both are correct
        print_r($Query); //Queries are not completed correctly. OUTPUT Below
        $count++;
    }
}

$FarmacieRiordinate = $_POST['elementi'];
$DataIniziale = $_POST['data1'];
$DataFinale = $_POST['data2'];
$Query = ("UPDATE $tabella_calendario SET Farmacia='$NomiFarmacie' WHERE Data='$day'");

Cicla(CalcolaPeriodo($DataIniziale, $DataFinale), $FarmacieRiordinate, $Query);

A PORTION OF OUTPUT print_r($Query)

UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'
UPDATE calendario SET Farmacia='Array' WHERE Data='1546297200'

The problem is your $Query already be combined as string BEFORE passed into your function. You can use vsprintf in this case.

function Cicla($Periodo, $FarmacieRiordinate, $Query) {
    global $tabella_calendario, $count; //them works

    foreach ($Periodo as $giorno)   {
        $day = $giorno->format("Y-m-d");
        $NomiFarmacie = addslashes($FarmacieRiordinate[$count % count($FarmacieRiordinate)]);

        echo $NomiFarmacie; echo $day; //Both are correct
        $realQuery = vsprintf($Query, array($NomiFarmacie, $day));
        print_r($realQuery); //Queries are not completed correctly. OUTPUT Below
        $count++;
    }
}

$FarmacieRiordinate = $_POST['elementi'];
$DataIniziale = $_POST['data1'];
$DataFinale = $_POST['data2'];
$Query = ("UPDATE $tabella_calendario SET Farmacia='%s' WHERE Data='%s'");

Cicla(CalcolaPeriodo($DataIniziale, $DataFinale), $FarmacieRiordinate, $Query);

You can read more about vsprintf here:

http://php.net/manual/en/function.vsprintf.php

.