小编DMS*_*Jax的帖子

使用 PHP 从 XML 响应中提取数据

当我收到包含以下内容的 API 响应时:

<?xml version="1.0" encoding="utf-8"?>
<response xmlns="http://www.XXXXXXX.com/api/" status="ok">
  <client_id>17992</client_id>
</response>
Run Code Online (Sandbox Code Playgroud)

我可以得到使用这个的结果<client_id>

$xml = simplexml_load_string($server_output);
$client = (string) $xml->client_id;
echo $client; // produces 17992 in this case
Run Code Online (Sandbox Code Playgroud)

但如果我在下面添加它,我不会得到分配给 $response 的值。

$response = (string) $xml->response; // produces empty value
Run Code Online (Sandbox Code Playgroud)

如何编写 PHP 代码来检查 XML 响应“status”是否 = OK?

php xml variables simplexml

6
推荐指数
1
解决办法
2万
查看次数

计算当周星期一的日期

目标:如果当前星期几是星期一以外的任何一天,则显示当前星期一的日期.如果当周的当天是星期一,只需显示今天的日期.

**这是我写的,我认为它有效,但可能不是确定日期最干净的方法.话虽如此,有没有人看到代码错误或不起作用的原因?**

<?php
date_default_timezone_set("America/New_York");
$day = date("w");
if( $day == 1 ) {$day -= 0;}
if( $day == 2 ) {$day -= 1;}
if( $day == 3 ) {$day -= 2;}
if( $day == 4 ) {$day -= 3;}
if( $day == 5 ) {$day -= 4;}
if( $day == 6 ) {$day -= 5;}
if( $day == 0 ) {$day -= 6;}
$calc = mktime(0,0,0,date("m"),date("d")-$day,date("Y"));
echo date("m/d/Y",$calc)."<br>";
echo "start date of work week is: ".date("m/d/Y", $calc);
?>
Run Code Online (Sandbox Code Playgroud)

php date mktime

3
推荐指数
1
解决办法
1万
查看次数

从数组结果中选择值

作为学习PHP的新手,我无法理解如何从API脚本返回的数组结果中选择/回显/提取值.

使用标准:

echo "<pre>";
print_r($ups_rates->rates);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

返回的结果如下所示:

Array
(
    [0] => Array
        (
            [code] => 03
            [cost] => 19.58
            [desc] => UPS Ground
        )

    [1] => Array
        (
            [code] => 12
            [cost] => 41.69
            [desc] => UPS 3 Day Select
        )

    [2] => Array
        (
            [code] => 02
            [cost] => 59.90
            [desc] => UPS 2nd Day Air
        )
)
Run Code Online (Sandbox Code Playgroud)

如果我只需要处理第一个数组结果的值:Code 3,19.58,UPS Ground ---回显一个或多个值的正确方法是什么?

我想:

$test = $ups_rates[0][cost];
echo $test;
Run Code Online (Sandbox Code Playgroud)

这显然是错误的,我对数组结果缺乏了解并没有改善,有人可以告诉我如何回显返回数组的单个值和/或将其分配给变量以回应正常方式吗?

php arrays

1
推荐指数
1
解决办法
58
查看次数

循环通过$ POST使$ SESSION等效

这是循环API发送的$ POST数据并从中创建等效$ SESSION名称/值对的正确方法吗?

foreach($_POST as $key=>$value)
{ $_SESSION['$key']=$value; }
Run Code Online (Sandbox Code Playgroud)

更新: 首先,感谢坚实的回应 - 我想我需要解释我正在努力克服的问题以及为什么要考虑这个功能.$ _POST响应来自支付处理器网关 - 问题是,由于付款表单/处理不在我们的域中,付款结果(已批准/已拒绝等)正通过$ POST传递给我们的服务器 - 当我们的PHP代码尝试处理响应数据时,它会在那里找到各种PHP结构(比如php包含'file.php')而不是我们的错误 - 我需要将$ POST数据移动到会话中然后将此人移回我们的域,以便文件/目录/资源树正确.我遇到了什么才有意义?

php foreach post session-variables

1
推荐指数
1
解决办法
1150
查看次数

第一次单击后,Jquery .on()丢失EVENT检测

我在Intranet页面上有一个部分,它允许员工对客户票据进行跟进的摘要视图.我们添加了一键式事件来删除特定记录,方法是单击每行末尾的标准关闭图标(包含类.fudel)和(value ="####").删除由PHP通过POST事件处理.我使用相同的Jquery启动删除,在发送POST后重新加载摘要DIV,以便摘要列表是最新的.

在此输入图像描述

问题是事件只会在.load()发生后触发一次Jquery无法再检测到动态div中的点击事件.如果你看一下我使用的Jquery,它使用.on()方法,据我所知,它取代了.live(),专门用于处理动态加载元素中的事件检测.

$('.fudel').on("click", function() { 
    var m = $(this).attr("value"); 
    var answ = confirm("Press OK to DELETE follow-up record for: ("+ m +")");
    if (answ == true) {
        $.post("includes/phpfunctions.php", {
            fudelete: m
        });
        $("#followup").load(location.href + " #followup > *");
    } 
    else {
        $.alert('Deletion Canceled', 'User Notice');
    }
});
Run Code Online (Sandbox Code Playgroud)

此外,在最近的两个问题中,我发现许多这些事件检测问题都在需要添加第二个,第三个,第四个等等.Jquery调用了on()事件的"回调".如果这最终成为了这里的问题作出解释,我会问别人提供一个很好的链接的文档的解释时,Jquery的动作需要落在回调范围VS何时能/应该落在外面回调范围.

javascript php jquery

1
推荐指数
1
解决办法
91
查看次数