/ / function wont convert array [closed] - php, arrays, function

funkcia zvyknutý konvertovať pole [closed] - php, arrays, function

Chcel by som previesť prijatú (modelovú) hodnotu produktu na pôvodnú hodnotu modelu, ale zdá sa, že moja funkcia nefunguje

teraz si nie som istý, čo robím zle

jeho funkcia function identifierToString($DEVICE_PRODUCT){

<?php


$data = file_get_contents("php://input");

$plistBegin   = "<?xml version="1.0"";
$plistEnd   = "</plist>";
$pos1 = strpos($data, $plistBegin);
$pos2 = strpos($data, $plistEnd);
$data2 = substr ($data,$pos1,$pos2-$pos1);
$xml = xml_parser_create();
xml_parse_into_struct($xml, $data2, $vs);
xml_parser_free($xml);

$UDID = "";
$CHALLENGE = "";
$DEVICE_NAME = "";
$DEVICE_PRODUCT = "";
$DEVICE_VERSION = "";
$iterator = 0;

$arrayCleaned = array();
foreach($vs as $v){
if($v["level"] == 3 && $v["type"] == "complete"){
$arrayCleaned[]= $v;
}
$iterator++;
}

$data = "";
$iterator = 0;

foreach($arrayCleaned as $elem){

$data .= "n==".$elem["tag"]." -> ".$elem["value"]."<br/>";

switch ($elem["value"]) {

case "CHALLENGE":

$CHALLENGE = $arrayCleaned[$iterator+1]["value"];

break;

case "NAME":

$DEVICE_NAME = $arrayCleaned[$iterator+1]["value"];

break;

case "PRODUCT":

$DEVICE_PRODUCT = $arrayCleaned[$iterator+1]["value"];

break;

case "UDID":

$UDID = $arrayCleaned[$iterator+1]["value"];

break;

case "VERSION":

$DEVICE_VERSION = $arrayCleaned[$iterator+1]["value"];

break;

}
$iterator++;
}

function identifierToString($DEVICE_PRODUCT){
$models = array(
"iPhone5,1" => "iPhone 5",           //iPhone 5
"iPhone5,2" => "iPhone 5",           //iPhone 5
"iPhone5,3" => "iPhone 5C",          //iPhone 5C
"iPhone5,4" => "iPhone 5C",          //iPhone 5C
"iPhone6,1" => "iPhone 5S",          //iPhone 5S
"iPhone6,2" => "iPhone 5S",          //iPhone 5S
"iPhone7,2" => "iPhone 6",           //iPhone 6
"iPhone7,1" => "iPhone 6+",          //iPhone 6+
"iPhone8,1" => "iPhone 6S",          //iPhone 6S
"iPhone8,2" => "iPhone 6S+",         //iPhone 6S+
"iPhone8,4" => "iPhone SE",          //iPhone SE
"iPhone9,1" => "iPhone 7",           //iPhone 7
"iPhone9,2" => "iPhone 7+",          //iPhone 7+
"iPhone9,3" => "iPhone 7",           //iPhone 7
"iPhone9,4" => "iPhone 7+",          //iPhone 7+

);

if(isset($models[$DEVICE_PRODUCT])){
return $models[$DEVICE_PRODUCT];
} else {
return $DEVICE_PRODUCT;
}

}

$params = "UDID=".$UDID."&CHALLENGE=".$CHALLENGE."&DEVICE_NAME=".$DEVICE_NAME."&DEVICE_PRODUCT=".$DEVICE_PRODUCT."&DEVICE_VERSION=".$DEVICE_VERSION;

header("Location: https://vezuure.me/udid?".$params);

?>

Keď budú údaje presmerované na ďalšiu stránku, stále dostávam neprevedenú hodnotu

odpovede:

0 pre odpoveď č. 1

Naozaj nemám zmysel mať pre to funkciu. Snažil som sa vyčistiť pár špagiet ....

$arrayCleaned = array();
foreach ($vs as $key => $v) {
if ($v["level"] == 3 && $v["type"] == "complete") {
$arrayCleaned[] = $v;
}
}

$data = "";
foreach ($arrayCleaned as $key => $elem) {
$data .= "n==" . $elem["tag"] . " -> " . $elem["value"] . "<br/>";
switch ($elem["value"]) {
case "CHALLENGE":
$CHALLENGE = $arrayCleaned[$key + 1]["value"];
break;

case "NAME":
$DEVICE_NAME = $arrayCleaned[$key + 1]["value"];
break;

case "PRODUCT":
$DEVICE_PRODUCT = $arrayCleaned[$key + 1]["value"];
break;

case "UDID":
$UDID = $arrayCleaned[$key + 1]["value"];
break;

case "VERSION":
$DEVICE_VERSION = $arrayCleaned[$key + 1]["value"];
break;
}
}

$models = array(
"iPhone5,1" => "iPhone 5", //iPhone 5
"iPhone5,2" => "iPhone 5", //iPhone 5
"iPhone5,3" => "iPhone 5C", //iPhone 5C
"iPhone5,4" => "iPhone 5C", //iPhone 5C
"iPhone6,1" => "iPhone 5S", //iPhone 5S
"iPhone6,2" => "iPhone 5S", //iPhone 5S
"iPhone7,2" => "iPhone 6", //iPhone 6
"iPhone7,1" => "iPhone 6+", //iPhone 6+
"iPhone8,1" => "iPhone 6S", //iPhone 6S
"iPhone8,2" => "iPhone 6S+", //iPhone 6S+
"iPhone8,4" => "iPhone SE", //iPhone SE
"iPhone9,1" => "iPhone 7", //iPhone 7
"iPhone9,2" => "iPhone 7+", //iPhone 7+
"iPhone9,3" => "iPhone 7", //iPhone 7
"iPhone9,4" => "iPhone 7+", //iPhone 7+
);

$result = (isset($models[$DEVICE_PRODUCT])) ? $models[$DEVICE_PRODUCT] : $models;

$params = "UDID=" . $UDID . "&CHALLENGE=" . $CHALLENGE . "&DEVICE_NAME=" . $DEVICE_NAME . "&DEVICE_PRODUCT=" . $result . "&DEVICE_VERSION=" . $DEVICE_VERSION;