将字符串拆分为数组,并根据其字母分配值?

时间:2014-01-31 07:18:14

标签: php arrays

我不是要求你为我或任何代码编写代码,代码片段或指向正确的方向将帮助我解决很多问题。

这是我基本上要做的,你有“abcdefg”这个词

我希望它将字符串拆分成一个数组(或者其他什么效果最好?),然后根据存储在数组中的字母分配一个值。 (基于字母表,a = 1,b = 2,c = 3,z = 26)

所以abcdefg会变成类似

的东西
$foo("a" => 1, "b" =>2, "c" => 3, etc..);

但很明显,如果“abcdefg”是“zaj”,则数组将是“z”=> 26,“a”=> 1,“j”=> 10

基本上,将一串字母转换为按字母顺序排列的num值sorta?

2 个答案:

答案 0 :(得分:1)

您需要的功能是:

使用这些功能,您可以在极少数代码行中解决此问题。

答案 1 :(得分:0)

已实施此步骤。

  • 生成字母数组(从索引1开始的字母)
  • 获取要作为数组生成的值。
  • 使用str_split
  • 拆分它们
  • 使用foreach构造在使用array_search
  • 创建的早期字母数组中搜索它们
  • 如果找到,只需抓住他们的密钥和值并将其放入新数组中。

<?php
$alph[]='Start';
foreach(range('a','z') as $val)
{
    $alph[]=$val;
}

$makethisvalasarray='zaj';
$makethisvalasarray=str_split($makethisvalasarray);

foreach($makethisvalasarray as $val)
{
    $newarr[$val]=array_search($val,$alph);
}

print_r($newarr);

<强> OUTPUT :

Array
(
    [z] => 26
    [a] => 1
    [j] => 10
)