php中的双数组元素

php中的双数组元素,php,arrays,Php,Arrays,我发现了一些代码,这让我很困惑。也许是我的错误或者我误解了。我见过一些这样的代码: function my_compare($a, $b) { if ($a['practice_id']['practice_url'] == $b['practice_id']['practice-url']) return $a['practice_location_id']['practice-url'] - $b['practice_location_id']['practise_url'];

我发现了一些代码,这让我很困惑。也许是我的错误或者我误解了。我见过一些这样的代码:

function my_compare($a, $b) {
  if ($a['practice_id']['practice_url'] == $b['practice_id']['practice-url'])


 return $a['practice_location_id']['practice-url'] - $b['practice_location_id']['practise_url'];

  else
return $a['practice_id']['practice_url'] - $b['practice_id']['practise_url'];
}
我只需要知道practice\u url和practice\u location\u id和practice\u url的用法


它们都嵌入在html名称或值中吗?请帮助我理解这些。

$a是一个关联数组。“练习id”和“练习url”是键。和往常一样,PHP手册有很好的信息:。

这是一个“简单”的多维PHP数组

在php中,数组可以包含数字、字符串、对象或其他数组

比如说

$a = array('practice_id' => array('practice_url' => 2));
$b = array('practice_id' => array('practice_url' => 1));

echo $a['practice_id']['practice_url']; // display "2"

这段代码接受两个数组。例如:

$a = array(
    'practice_id' => array(
                       'practice_url'=>'some url'
                    ),
    'practice_location_id' => array(
                       'practice-url'='some other url'
     )
);
当然,在没有看到代码的情况下,数组可以是任何东西

$a
是上面的一个数组
$a['practice\u id']
指的是
$a
中带有键
'practice\u id'
的数组(作为旁白,这是一个名称奇怪的键,因为它向我暗示条目是字符串或数字,而不是数组)。同样地,
$a['practice\u id']['practice\u url']
引用
某个url

因此,函数只是检查数组的某些部分是否相等,并基于此返回。即

return $a['practice_id']['practice_url'] - $b['practice_id']['practise_url'];

请注意,上面是第二个奇怪的部分。
practice\u url
是一个数字,有一个奇怪的键,或者它确实是一个url,返回值将尝试将两者转换为整数,然后再返回它们的差。

您可能需要阅读数组。。。因为这是PHP代码,所以它可能与任何HTML代码相关,也可能与任何HTML代码无关。您所指示的项是数组索引。正如其他人所建议的,您需要回顾数组的基础知识。您是否看到调用
my\u compare()
的位置?在代码中搜索字符串
my\u compare
,而不仅仅是函数调用。它似乎是一个定制的比较函数,设计用于作为排序回调传递到
usort()
。传递给要排序的
usort()
的原始数组具有多维结构,包括数组键
['practice\u id']、['practice\u location\u id']
['practice\u id']['practice\u url']的子键
我认为这里有一个与代码第一行的
-
相关的坏拷贝/粘贴