douba2011 2018-12-05 21:52
浏览 215
已采纳

PHP array_unshift在函数内不起作用

Here is the preceding part of the code that returns an array containing either 4 or 5 indexes:

$page = icl_object_id(2880, 'page', true);
$url = get_permalink($page);
$parts = explode("/", $url);

I created a function that counts the amount of indexes in the array. The idea behind this is to artificially inflate the array with 1 index in case the total is 4.

function partsSumcheck() {
    if (count($parts) === 5) {
        return $parts;
    } else {
        $parts = array_unshift($parts, 'filler');
        return $parts;
    };
}
partsSumcheck();
var_dump($parts);

However, when the array returns with 4 indexes, I do an var_dump on $parts, and the array still has 4 indexes, even after the unshifting. Why?

  • 写回答

2条回答 默认 最新

  • 普通网友 2018-12-05 22:00
    关注

    array_unshift returns the number of new elements in the array, not the new array. Plus you should pass in the array and re-assign it after it returns.

    function partsSumcheck($parts) {
        if (count($parts) === 5) {
            return $parts;
        } else {
            array_unshift($parts, 'filler');
            return $parts;
        };
    }
    $parts = partsSumcheck($parts);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services