如何在php上获取字符串数组的索引?
假设我有一个多维字符串数组:如何在php上获取字符串数组的索引?,php,arrays,string,indexing,numbers,Php,Arrays,String,Indexing,Numbers,假设我有一个多维字符串数组: .food = array( 'vegetable' => array( 'carrot' => 'blablue', 'potato' => 'bluebla', 'cauliflower' => 'blabla'
.food = array(
'vegetable' => array(
'carrot' => 'blablue',
'potato' => 'bluebla',
'cauliflower' => 'blabla'
),
'Fruit' => array(
'apple' => 'chicken65',
'orange' => 'salsafood',
'pear' => 'lokkulakka'
)
);
是否可以使用索引作为数字来访问数组,而不是使用键的名称?
因此,为了访问chicken65,我将键入echo$food[1][0];我不想使用数字作为键,因为它是一个大数组,如果我使用字符串作为键,它将更方便用户使用,并且它将允许我在高级级别执行for循环。您可以执行foreach循环,以实现与典型for循环大致相同的功能
foreach ($foods as $key => $value) {
//For the first iteration, $key will equal 'vegetable' and $value will be the array
}
您可以使用foreach循环来实现与典型for循环大致相同的功能
foreach ($foods as $key => $value) {
//For the first iteration, $key will equal 'vegetable' and $value will be the array
}
试一试
但是,变量不能以
开头。它应该以$try开头
但是,变量不能以
开头。它应该以$$food[1][0]开头$食物[1][apple']
,因此在这种情况下不能使用数字键。$food[1][0]!=$食物[1]['apple']
,因此在这种情况下不能使用数字键。您可以在数组上使用array_keys()。生成的数组可以通过for循环遍历,并提供关联键
我将向您展示第一个维度:
$aTest = array('lol' => 'lolval', 'rofl' => 'roflval');
$aKeys = array_keys($aTest);
$iCnt = count($aKeys);
for($i = 0; $i < $iCnt; ++$i)
{
var_dump($aTest[$aKeys[$i]]);
}
$aTest=array('lol'=>'lolval','rofl'=>'roflval');
$aKeys=阵列密钥($aTest);
$iCnt=计数($aKeys);
对于($i=0;$i<$iCnt;++$i)
{
var_dump($aTest[$aKeys[$i]]);
}
您需要在二维空间执行此操作,但我不建议这样做。实际上,它比大多数其他解决方案更具干扰性且速度较慢。您可以在阵列上使用array\u keys()。生成的数组可以通过for循环遍历,并提供关联键
我将向您展示第一个维度:
$aTest = array('lol' => 'lolval', 'rofl' => 'roflval');
$aKeys = array_keys($aTest);
$iCnt = count($aKeys);
for($i = 0; $i < $iCnt; ++$i)
{
var_dump($aTest[$aKeys[$i]]);
}
$aTest=array('lol'=>'lolval','rofl'=>'roflval');
$aKeys=阵列密钥($aTest);
$iCnt=计数($aKeys);
对于($i=0;$i<$iCnt;++$i)
{
var_dump($aTest[$aKeys[$i]]);
}
您需要在二维空间执行此操作,但我不建议这样做。实际上,它比大多数其他解决方案更具强制性,速度也更慢。您可能想尝试函数数组值,但由于您处理的是多变量数组,下面是一位php程序员发布的解决方案
但是使用foreach比for更容易。您可能想尝试函数array\u值,但由于您处理的是多变量数组,下面是一位php程序员发布的解决方案
但是使用foreach比使用for更容易。我不认为这条路线有什么固有的东西 而且,看起来您确实在尝试对数组使用进行一些扩展 你应该在这个问题上采取行动 创建一个FoodFamily对象和一个Food对象,必要时可以在其中存储数组,这样就可以编写一个友好的用户友好代码,并在需要时添加索引
OOP几乎总是答案:)我不认为这条路线有什么固有的东西 而且,看起来您确实在尝试对数组使用进行一些扩展 你应该在这个问题上采取行动 创建一个FoodFamily对象和一个Food对象,必要时可以在其中存储数组,这样就可以编写一个友好的用户友好代码,并在需要时添加索引
OOP几乎总是答案:)如果你不想使用数字作为键,为什么要问如何做?为什么不使用foreach,而不是for循环。如果你不想使用数字作为键,为什么要问如何做?为什么不使用foreach,而不是for循环。当您可以简单地使用foreach而不使用它时,为什么要这样做?我不会这样做,我会使用foreach。我认为这个解决方案更接近OP的要求(没有双关语)。当你可以简单地使用foreach而不使用它时,为什么要这样做?我不会这样做,我会使用foreach。我认为这个解决方案更接近OP的要求(不是双关语)。数组值这是我需要的:Darray值这是我需要的:Darray值这是我需要的:DEnglish不是我的母语数组值这是我需要的:DEnglish不是我的母语