Php 使用带条件的路径进行循环
我正在创建一个基于层级的转诊系统。在其中,我将父路径存储在一个名为path的列中,这样我就可以在一个不使用递归的查询中轻松找到父路径 在此情况下,每个用户最多只能有5个转介。我的问题是,我有一个佣金制度,将新用户的钱分成不同级别的佣金。例如,新用户的直接赞助者将获得200卢比的佣金,而先前赞助者的直接赞助者将获得100卢比的佣金,并持续10个级别 因此,在路径中,我可以获得所有家长及其对应家长的id。路径示例/1/2/3/4/44/-因此从这个路径我们可以理解44是直接的父,4是44的父,3是4的父,2是3的父,1是2的父 所以我的问题是,我的佣金是这样的,1-200级,2-100级,3-50级,4-30级,5-10级等等 如何将这些佣金循环给那些家长?我真的不能理解,所以我没有写任何代码。请帮忙Php 使用带条件的路径进行循环,php,Php,我正在创建一个基于层级的转诊系统。在其中,我将父路径存储在一个名为path的列中,这样我就可以在一个不使用递归的查询中轻松找到父路径 在此情况下,每个用户最多只能有5个转介。我的问题是,我有一个佣金制度,将新用户的钱分成不同级别的佣金。例如,新用户的直接赞助者将获得200卢比的佣金,而先前赞助者的直接赞助者将获得100卢比的佣金,并持续10个级别 因此,在路径中,我可以获得所有家长及其对应家长的id。路径示例/1/2/3/4/44/-因此从这个路径我们可以理解44是直接的父,4是44的父,3是4
如何向使用路径找到的用户更新各种佣金?正如前面提到的注释,您可以使用explode将字符串拆分为数组。有了它,你可以迭代它并计算佣金 稍微精简的代码,我觉得更容易阅读
<?php
$input = '/1/2/3/4/44/';
// Split your string into an array, removes empty values, and then reoders the keys to start from 0.
$levels = array_values(array_filter(explode('/', $input)));
// Define your levels and pricing
$pricing = [
200,
100,
50,
30,
10
];
echo 'You get ₹' . array_sum(array_intersect_key($pricing, $levels));
// Output: You get ₹390
请看explode函数:。您提供了一个分隔符和一个字符串,在本例中,分隔符是“/”。这将从字符串中创建一个数组,该数组可以循环通过。是的,我知道,但是如何切换每种级别。寄确切的佣金?
<?php
$input = '/1/2/3/4/44/';
// Split your string into an array, removes empty values, and then reoders the keys to start from 0.
$levels = array_values(array_filter(explode('/', $input)));
// Define your levels and pricing
$pricing = [
200,
100,
50,
30,
10
];
echo 'You get ₹' . array_sum(array_intersect_key($pricing, $levels));
// Output: You get ₹390