首页 > 解决方案 > 尝试了我在堆栈上找到的所有内容,但没有任何东西可以修改我的数组 php

问题描述

无论我做什么,我都无法修改数组,我尝试了在堆栈上找到的所有内容,但没有成功。我没有错误消息,数组也没有改变。

我有一个包含较小数组的数组

$a=array('Champagne 1er Cru Le Cran Domaine Bereche 2010');
$b=array('Champagne 1er Cru Le Cran Domaine Bereche 2011 Magnum');
$c=array('Champagne 1er Cru Extra Brut Bulle de Rose Domaine Savart NV');
$d=array('Champagne 1er Cru Le Cran Domaine Bereche 2010 Magnum');
$e=array('Champagne 1er Cru Monts Fournois Domaine Bereche 2012');
$f=array('Champagne 1er Cru Brut Expression Nature Domaine Savart 2014');
$g=array('Champagne 1er Cru Le Cran Domaine Bereche 2009');  
  
$array=array($a, $b, $c, $d, $e, $f, $g);

这是代码

foreach($array as $element) {
    uasort($array, 'sort_by_name');

function sort_by_name($a, $b)
{
        return strcmp($a[0], $b[0]);
}

并且数组的顺序根本没有改变。并且该数组在同一个函数中声明。

标签: phparrays

解决方案


<?php
$a=array('Champagne 1er Cru Le Cran Domaine Bereche 2010');
$b=array('Champagne 1er Cru Le Cran Domaine Bereche 2011 Magnum');
$c=array('Champagne 1er Cru Extra Brut Bulle de Rose Domaine Savart NV');
$d=array('Champagne 1er Cru Le Cran Domaine Bereche 2010 Magnum');
$e=array('Champagne 1er Cru Monts Fournois Domaine Bereche 2012');
$f=array('Champagne 1er Cru Brut Expression Nature Domaine Savart 2014');
$g=array('Champagne 1er Cru Le Cran Domaine Bereche 2009');  
  
$array=array($a, $b, $c, $d, $e, $f, $g);



function sort_subregion($a, $b)
{
        return strcmp($a[0], $b[0]);
}

uasort($array, 'sort_subregion');

print_r($array);

输出

Array
(
    [5] => Array
        (
            [0] => Champagne 1er Cru Brut Expression Nature Domaine Savart 2014
        )

    [2] => Array
        (
            [0] => Champagne 1er Cru Extra Brut Bulle de Rose Domaine Savart NV
        )

    [6] => Array
        (
            [0] => Champagne 1er Cru Le Cran Domaine Bereche 2009
        )

    [0] => Array
        (
            [0] => Champagne 1er Cru Le Cran Domaine Bereche 2010
        )

    [3] => Array
        (
            [0] => Champagne 1er Cru Le Cran Domaine Bereche 2010 Magnum
        )

    [1] => Array
        (
            [0] => Champagne 1er Cru Le Cran Domaine Bereche 2011 Magnum
        )

    [4] => Array
        (
            [0] => Champagne 1er Cru Monts Fournois Domaine Bereche 2012
        )

)

推荐阅读