isset方法无法正常工作(isset method not working returns nothing)

编程入门 行业动态 更新时间:2024-10-25 13:30:20
isset方法无法正常工作(isset method not working returns nothing)

我试图将一组JSON文件映射到一个数据库,但我的isset检查在我的PHP中不起作用:

<?php $con = mysqli_connect("localhost", "root", "", "json_map"); $response = array(); $res = array(); $result = ''; foreach(glob('C:\xampp\htdocs\laravel\awsconfig\app\views\*.json') as $filename) { $json = file_get_contents($filename); if ($json != null) { $decoded = json_decode($json, true); // $decode= var_dump($decoded); // $ss=$decode["array"]; // echo $decoded['number']; if (is_array($decoded["configurationItems"])) { foreach($decoded["configurationItems"] as $configurationItems) // for($i=0;$i>sizeof($decoded["configurationItems"]);$i++) { $cfi = isset($configurationItems["configuration"]) ? $configurationItems["configuration"] : ''; if (isset($cfi["instanceId"]) && isset($cfi["imageId"]) && isset($cfi["privateDnsName"]) && isset($cfi["publicDnsName"]) && isset($cfi["keyName"]) && isset($cfi["stateTransitionReason"]) && isset($cfi["amiLaunchIndex"]) && isset($cfi["instanceType"]) && isset($cfi["launchTime"]) && isset($cfi["kernelId"]) && isset($cfi["subnetId"]) && isset($cfi["vpcId"]) && isset($cfi["privateIpAddress"]) && isset($cfi["architecture"]) && isset($cfi["rootDeviceType"]) && isset($cfi["rootDeviceName"]) && isset($cfi["virtualizationType"]) && isset($cfi["clientToken"]) && isset($cfi["sourceDestCheck"]) && isset($cfi["hypervisor"]) && isset($cfi["ebsOptimized"])) { $instanceId = $configurationItems["configuration"]["instanceId"]; echo "instanceId:", $instanceId, "<br />"; $imageId = $configurationItems["configuration"]["imageId"]; echo "imageId:", $imageId, "<br />"; $privateDnsName = $configurationItems["configuration"]["privateDnsName"]; echo "privateDnsName:", $privateDnsName, "<br />"; $publicDnsName = $configurationItems["configuration"]["publicDnsName"]; echo "publicDnsName:", $publicDnsName, "<br />"; $keyName = $configurationItems["configuration"]["keyName"]; echo "keyName:", $keyName, "<br />"; $stateTransitionReason = $configurationItems["configuration"]["stateTransitionReason"]; echo "stateTransitionReason:", $stateTransitionReason, "<br />"; $amiLaunchIndex = $configurationItems["configuration"]["amiLaunchIndex"]; echo "amiLaunchIndex:", $amiLaunchIndex, "<br />"; $instanceType = $configurationItems["configuration"]["instanceType"]; echo "instanceType:", $instanceType, "<br />"; $launchTime = $configurationItems["configuration"]["launchTime"]; echo "launchTime:", $launchTime, "<br />"; $kernelId = $configurationItems["configuration"]["kernelId"]; echo "kernelId:", $kernelId, "<br />"; $subnetId = $configurationItems["configuration"]["subnetId"]; echo "subnetId:", $subnetId, "<br />"; $vpcId = $configurationItems["configuration"]["vpcId"]; echo "vpcId:", $vpcId, "<br />"; $privateIpAddress = $configurationItems["configuration"]["privateIpAddress"]; echo "privateIpAddress:", $privateIpAddress, "<br />"; $architecture = $configurationItems["configuration"]["architecture"]; echo "architecture:", $architecture, "<br />"; $rootDeviceType = $configurationItems["configuration"]["rootDeviceType"]; echo "rootDeviceType:", $rootDeviceType, "<br />"; $rootDeviceName = $configurationItems["configuration"]["rootDeviceName"]; echo "rootDeviceName:", $rootDeviceName, "<br />"; $virtualizationType = $configurationItems["configuration"]["virtualizationType"]; echo "virtualizationType:", $virtualizationType, "<br />"; $clientToken = $configurationItems["configuration"]["clientToken"]; echo "clientToken:", $clientToken, "<br />"; $sourceDestCheck = $configurationItems["configuration"]["sourceDestCheck"]; echo "sourceDestCheck:", $sourceDestCheck, "<br />"; $hypervisor = $configurationItems["configuration"]["hypervisor"]; echo "hypervisor:", $hypervisor, "<br />"; $ebsOptimized = $configurationItems["configuration"]["ebsOptimized"]; echo "ebsOptimized:", $ebsOptimized, "<br />"; $result = mysqli_query($con, "INSERT INTO configuration(instance_id, image_id, private_dns_name, public_dns_name, key_name, state_transition_reason, ami_launch_index, instance_type, launch_time, kernel_id, subnet_id, vpc_id, private_ip_address,architecture, root_device_type, root_device_name, virtualisation_type, client_token, source_dest_check, hypervisor, ebs_optimised) VALUES('$instanceId','$imageId', '$privateDnsName' , '$publicDnsName', '$keyName', '$stateTransitionReason', '$amiLaunchIndex', '$instanceType', '$launchTime', '$kernelId', '$subnetId', '$vpcId', '$privateIpAddress', '$architecture', '$rootDeviceType', '$rootDeviceName', '$virtualizationType', '$clientToken', '$sourceDestCheck', '$hypervisor', '$ebsOptimized')") or die("Insert Failed " . ((is_object($con)) ? mysqli_error($con) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));; } // check if row inserted or not if ($result) { // successfully inserted into database $response["code"] = 1; $response["message"] = "successfully updated config table "; // echoing JSON response echo json_encode($response); } else { // failed to insert row $response["code"] = 2; $response["message"] = "Oops! An error occurred."; // echoing JSON response echo json_encode($response); } } } } } ?>

我用的时候

$cfi = isset($configurationItems["configuration"]) ? $configurationItems["configuration"] : '';

我得到oops一个错误发生没有错误的解释

我用的时候

$cfi = $configurationItems ["configuration"];

我得到上面加上未定义的索引配置(错误)

I am trying to map a collection of JSON files into a database but my isset check is not working in my PHP :

<?php $con = mysqli_connect("localhost", "root", "", "json_map"); $response = array(); $res = array(); $result = ''; foreach(glob('C:\xampp\htdocs\laravel\awsconfig\app\views\*.json') as $filename) { $json = file_get_contents($filename); if ($json != null) { $decoded = json_decode($json, true); // $decode= var_dump($decoded); // $ss=$decode["array"]; // echo $decoded['number']; if (is_array($decoded["configurationItems"])) { foreach($decoded["configurationItems"] as $configurationItems) // for($i=0;$i>sizeof($decoded["configurationItems"]);$i++) { $cfi = isset($configurationItems["configuration"]) ? $configurationItems["configuration"] : ''; if (isset($cfi["instanceId"]) && isset($cfi["imageId"]) && isset($cfi["privateDnsName"]) && isset($cfi["publicDnsName"]) && isset($cfi["keyName"]) && isset($cfi["stateTransitionReason"]) && isset($cfi["amiLaunchIndex"]) && isset($cfi["instanceType"]) && isset($cfi["launchTime"]) && isset($cfi["kernelId"]) && isset($cfi["subnetId"]) && isset($cfi["vpcId"]) && isset($cfi["privateIpAddress"]) && isset($cfi["architecture"]) && isset($cfi["rootDeviceType"]) && isset($cfi["rootDeviceName"]) && isset($cfi["virtualizationType"]) && isset($cfi["clientToken"]) && isset($cfi["sourceDestCheck"]) && isset($cfi["hypervisor"]) && isset($cfi["ebsOptimized"])) { $instanceId = $configurationItems["configuration"]["instanceId"]; echo "instanceId:", $instanceId, "<br />"; $imageId = $configurationItems["configuration"]["imageId"]; echo "imageId:", $imageId, "<br />"; $privateDnsName = $configurationItems["configuration"]["privateDnsName"]; echo "privateDnsName:", $privateDnsName, "<br />"; $publicDnsName = $configurationItems["configuration"]["publicDnsName"]; echo "publicDnsName:", $publicDnsName, "<br />"; $keyName = $configurationItems["configuration"]["keyName"]; echo "keyName:", $keyName, "<br />"; $stateTransitionReason = $configurationItems["configuration"]["stateTransitionReason"]; echo "stateTransitionReason:", $stateTransitionReason, "<br />"; $amiLaunchIndex = $configurationItems["configuration"]["amiLaunchIndex"]; echo "amiLaunchIndex:", $amiLaunchIndex, "<br />"; $instanceType = $configurationItems["configuration"]["instanceType"]; echo "instanceType:", $instanceType, "<br />"; $launchTime = $configurationItems["configuration"]["launchTime"]; echo "launchTime:", $launchTime, "<br />"; $kernelId = $configurationItems["configuration"]["kernelId"]; echo "kernelId:", $kernelId, "<br />"; $subnetId = $configurationItems["configuration"]["subnetId"]; echo "subnetId:", $subnetId, "<br />"; $vpcId = $configurationItems["configuration"]["vpcId"]; echo "vpcId:", $vpcId, "<br />"; $privateIpAddress = $configurationItems["configuration"]["privateIpAddress"]; echo "privateIpAddress:", $privateIpAddress, "<br />"; $architecture = $configurationItems["configuration"]["architecture"]; echo "architecture:", $architecture, "<br />"; $rootDeviceType = $configurationItems["configuration"]["rootDeviceType"]; echo "rootDeviceType:", $rootDeviceType, "<br />"; $rootDeviceName = $configurationItems["configuration"]["rootDeviceName"]; echo "rootDeviceName:", $rootDeviceName, "<br />"; $virtualizationType = $configurationItems["configuration"]["virtualizationType"]; echo "virtualizationType:", $virtualizationType, "<br />"; $clientToken = $configurationItems["configuration"]["clientToken"]; echo "clientToken:", $clientToken, "<br />"; $sourceDestCheck = $configurationItems["configuration"]["sourceDestCheck"]; echo "sourceDestCheck:", $sourceDestCheck, "<br />"; $hypervisor = $configurationItems["configuration"]["hypervisor"]; echo "hypervisor:", $hypervisor, "<br />"; $ebsOptimized = $configurationItems["configuration"]["ebsOptimized"]; echo "ebsOptimized:", $ebsOptimized, "<br />"; $result = mysqli_query($con, "INSERT INTO configuration(instance_id, image_id, private_dns_name, public_dns_name, key_name, state_transition_reason, ami_launch_index, instance_type, launch_time, kernel_id, subnet_id, vpc_id, private_ip_address,architecture, root_device_type, root_device_name, virtualisation_type, client_token, source_dest_check, hypervisor, ebs_optimised) VALUES('$instanceId','$imageId', '$privateDnsName' , '$publicDnsName', '$keyName', '$stateTransitionReason', '$amiLaunchIndex', '$instanceType', '$launchTime', '$kernelId', '$subnetId', '$vpcId', '$privateIpAddress', '$architecture', '$rootDeviceType', '$rootDeviceName', '$virtualizationType', '$clientToken', '$sourceDestCheck', '$hypervisor', '$ebsOptimized')") or die("Insert Failed " . ((is_object($con)) ? mysqli_error($con) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));; } // check if row inserted or not if ($result) { // successfully inserted into database $response["code"] = 1; $response["message"] = "successfully updated config table "; // echoing JSON response echo json_encode($response); } else { // failed to insert row $response["code"] = 2; $response["message"] = "Oops! An error occurred."; // echoing JSON response echo json_encode($response); } } } } } ?>

when I use

$cfi = isset($configurationItems["configuration"]) ? $configurationItems["configuration"] : '';

I get oops an error occured no explanation of error

when I use

$cfi = $configurationItems ["configuration"];

I get as above plus undefined index configuration (the error)

最满意答案

如果测试已设置为NULL的变量,则isset()将返回FALSE。

有关详细信息,请参阅链接

bracket was in wrong place used

$cfi = isset($configurationItems["configuration"]) ? $configurationItems["configuration"] : '';`

works a treat

更多推荐

configuration,$configurationItems,echo,isset,电脑培训,计算机培训,IT培训"/> <

本文发布于:2023-07-29 18:32:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1318661.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:无法正常   方法   工作   isset   working

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!