php写一个多维数组排序函数

一、php写一个多维数组排序函数

在实际开发中,我们往往需要对多维数组进行排序,如订单列表按时间排序等。以下是一个示例多维数组:

```

$orders = array(

array('id'=>1, 'name'=>'John', 'price'=>100),

array('id'=>2, 'name'=>'Kathy', 'price'=>200),

array('id'=>3, 'name'=>'Anna', 'price'=>150),

array('id'=>4, 'name'=>'Peter', 'price'=>120)

);

```

要对这个多维数组按价格从低到高排序,可以使用usort函数来实现:

```

function cmp($a, $b) {

return $a['price'] - $b['price'];

}

usort($orders, 'cmp');

```

上面的代码中,定义了一个cmp函数,将多维数组按价格升序排序。然后使用usort函数对$orders数组进行排序。

二、php中使用函数控制表格行列

在实际开发中,经常需要对表格进行操作,如增加、删除、修改、排序等。以下是一个示例表格:

```

IDNamePrice
1John100
2Kathy200
3Anna150
4Peter120

```

要对表格进行操作,可以使用以下函数:

1. 添加行

要添加新行,可以使用HTML代码来添加,如下所示:

```

$table .= '5Lisa180';

```

上面的代码中,使用点号将HTML代码添加到$table变量中,这样就可以添加新行了。

2. 删除行

要删除行,可以使用JavaScript代码来实现。首先,为表格每行添加一个删除按钮,如下所示:

```

foreach ($data as $row) {

$table .= '';

$table .= ''.$row['id'].'';

$table .= ''.$row['name'].'';

$table .= ''.$row['price'].'';

$table .= 'Remove';

$table .= '';

}

```

上面的代码中,为每行添加了一个删除按钮,并设置了href属性为JavaScript代码,调用removeRow函数。

然后,写一个removeRow函数来删除行:

```

function removeRow(row) {

row.parentNode.parentNode.remove();

}

```

上面的代码中,获取点击按钮所在行的父节点的父节点,即元素,然后调用remove方法来删除该行。

3. 修改行

要修改行,可以使用JavaScript代码来实现。首先,为表格每行添加一个编辑按钮,如下所示:

```

foreach ($data as $row) {

$table .= '';

$table .= ''.$row['id'].'';

$table .= ''.$row['name'].'';

$table .= ''.$row['price'].'';

$table .= 'Edit';

$table .= '';

}

```

上面的代码中,为每行添加了一个编辑按钮,并设置了href属性为JavaScript代码,调用editRow函数。

然后,写一个editRow函数来修改行:

```

function editRow(row) {

var cells = row.parentNode.parentNode.cells;

var id = cells[0].textContent;

var name = cells[1].textContent;

var price = cells[2].textContent;

document.getElementById('id').value = id;

document.getElementById('name').value = name;

document.getElementById('price').value = price;

}

```

上面的代码中,获取点击按钮所在行的父节点的父节点,即元素,然后获取该行所有单元格的内容,并设置到文本框中(需要设置文本框的id属性)。

4. 表格排序

要对表格进行排序,可以使用以下代码:

```

function sortTable(n) {

var table, rows, switching, i, x, y, shouldSwitch;

table = document.getElementById("myTable");

switching = true;

while (switching) {

switching = false;

rows = table.rows;

for (i = 1; i < (rows.length - 1); i++) {

shouldSwitch = false;

x = rows[i].getElementsByTagName("td")[n];

y = rows[i + 1].getElementsByTagName("td")[n];

if (isNaN(x.innerHTML) || isNaN(y.innerHTML)) {

if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {

shouldSwitch= true;

break;

}

} else {

if (Number(x.innerHTML) > Number(y.innerHTML)) {

shouldSwitch= true;

break;

}

}

}

if (shouldSwitch) {

rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);

switching = true;

}

}

}

```

上面的代码中,使用了冒泡排序算法来对表格进行排序。其中,n表示要排序的列索引,从0开始。如果要升序排序,将shouldSwitch= true改为shouldSwitch = false即可。

总结:

以上就是php中使用函数控制表格行列的一些基本操作,包括添加行、删除行、修改行、表格排序等。这些操作可以使表格更加灵活方便地进行操作。同时,要注意写JavaScript代码时的变量作用域问题。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(53) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部