gpt4 book ai didi

php - array_map 在类里面不起作用

转载 作者:IT王子 更新时间:2023-10-29 00:55:12 25 4
gpt4 key购买 nike

我正在尝试创建一个类来处理数组,但我似乎无法让 array_map() 在其中工作。

<?php
//Create the test array
$array = array(1,2,3,4,5,6,7,8,9,10);
//create the test class
class test {
//variable to save array inside class
public $classarray;

//function to call array_map function with the given array
public function adding($data) {
$this->classarray = array_map($this->dash(), $data);
}

// dash function to add a - to both sides of the number of the input array
public function dash($item) {
$item2 = '-' . $item . '-';
return $item2;
}

}
// dumps start array
var_dump($array);
//adds line
echo '<br />';
//creates class object
$test = new test();
//classes function adding
$test->adding($array);
// should output the array with values -1-,-2-,-3-,-4-...
var_dump($test->classarray);

这输出

array(10) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4] => 整数 (5) [5]=> 整数 (6) [6]=> 整数 (7) [7]=> 整数 (8) [8]=> 整数 (9) [9]=> 整数 (10 ) }

警告:test::dash() 缺少参数 1,在第 11 行的 D:\xampp\htdocs\trainingdvd\arraytesting.php 中调用并在 D:\xampp\htdocs\trainingdvd\arraytesting 中定义。第 15 行的 php

警告:array_map() 期望参数 1 是一个有效的回调,未找到函数“--”或 D:\xampp\htdocs\trainingdvd\arraytesting.php 中第 11 行 NULL 中的函数名称无效

我做错了什么,还是这个函数在类中不起作用?

最佳答案

您以错误的方式将 dash 指定为回调。

这不起作用:

$this->classarray = array_map($this->dash(), $data);

这样做:

$this->classarray = array_map(array($this, 'dash'), $data);

了解回调可能采用的不同形式here .

关于php - array_map 在类里面不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5422242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com