SimpleXML期待数组错误PHP

时间:2016-02-03 10:08:45

标签: php arrays xml sorting simplexml

以下是我的代码

<?php
// Last 10 Jobs
function last10IT(){
$xml = simplexml_load_file('http://www.cv-library.co.uk/cgi-bin/feed.xml?affid=101899');


$new_array = array();
//$limit = 5;
//$c = 0;
foreach ($xml->jobs->job as $job) {
//    if ($limit == $c) {
//        break;
//    }
    $jobref = $job->jobref;
    $title = $job->title;
    $date = $job->date;
    $new_array[$jobref.$date] = array(
        'jobref' => $jobref,
        'date' => $date,
        'title' => $title,
        'salary' => $job->salary,
        'location' => $job->location,
    );
}
}
ksort($new_array);
$showl = 10;
$n = 0;
foreach ($new_array as $date => $listing) {

    print $listing['title'] . PHP_EOL;

}
?>

我想要它做的就是按类别过滤&amp;最多显示10个结果 例如 它 所以我有一种方法可以将类别值传递给我希望它过滤的函数 而不是必须为每个类别复制

我得到的只是:

  

警告:ksort()期望参数1为数组,在给定的情况下为null   第28行的C:\ wamp \ www \ RECRUITMENTFAIR \ functions.php

请帮助家伙

这很简单导致这个错误,但它让我很生气,因为我看不到它

2 个答案:

答案 0 :(得分:0)

它相对简单:您尝试使用变量$new_array超出范围: 它是在last10IT()函数中定义的,但函数在第一个foreach之后结束。

你应该返回数组并调用函数来获取数组,或者根据你的需要将ksort和打印部分移动到函数中。

答案 1 :(得分:0)

还没有启用PHP扩展xmlrpc而出现问题! 什么工具! 这就是为什么我没有打开一半的时间