为了账号安全,请及时绑定邮箱和手机立即绑定

从函数返回特定的数组形式

从函数返回特定的数组形式

PHP
呼啦一阵风 2021-10-15 17:45:35
我有这个数组$array = [1, 2, 3, 4, 5];和这个功能function change($array) {    foreach ($array as $key => $value) {        $form[$key+5][$value-1] = $key-$value;    }    return $form;}change($array);在其中,我想重新排列数组的形式是,$form[$key+5][$value-1] = $key-$value;但我想让它由这样的参数定义function change($array, $form) {    foreach ($array as $key => $value) {        $form;    }    return $form;}$x = change($array, $arr[$key+5][$value-1] = $key-$value);$y = change($array, $arr[$key+5][$key+100] = $key+$value);如何才能做到这一点?
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

有人会抨击所有的弊端,eval但如果它不是用户提供的(不受信任的)数据,那么这有效:


function change($array, $form) {

    foreach ($array as $key => $value) {

        eval("\$result$form;");

    }

    return $result;

}

您需要使用字符串调用它,如下所示:


$x = change($array, '[$key+5][$value-1] = $key-$value');

$y = change($array, '[$key+5][$key+100] = $key+$value');

这将构建一个如下所示的字符串:$result[$key+5][$key+100] = $key+$value;并将其计算为 PHP 代码。


这将是更多的工作,但是您可以传入一些内容来解析并将其调整为如何通过键名/路径访问和操作多维数组?.


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号