获取字符串的偶数索引

时间:2013-02-19 03:44:06

标签: php

嘿伙计们试图从数据库中获取字符串的偶数索引,然后将它们保存在变量中然后回显。但我的代码似乎不起作用。请帮忙。这是

require_once('DBconnect.php');
$school_id = '1';
$section_id = '39';
$select_pk = "SELECT * FROM section 
    WHERE school_id = '$school_id' 
    AND section_id = '$section_id'";
$query = mysql_query($select_pk) or die (mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    $public_key = $row['public_key'];
}

if ($public_key) {
    $leng_public_key = strlen($public_key);
    $priv_key_extract = "";
    $array_pki = array();
    for ($i=0; $i <=$leng_public_key-1 ; $i++) { 
        array_push($array_pki,$public_key[$i]);
    }

    foreach ($array_pki as $key  => $value) {
        if($key % 2 == 0) {
            $priv_key_extract += $public_key[$key];
        } else {
            $priv_key_extract ="haiiizzz";
        }
    }
}
echo $priv_key_extract;

你可以看到我试图使用模2来查看索引是否是偶数。

2 个答案:

答案 0 :(得分:1)

我已经更新了您的代码,现在可以使用了:

<?php
$public_key = 'A0L8V1I5N9';
if ($public_key) {
    $leng_public_key = strlen($public_key);
    $priv_key_extract = "";
    $array_pki = array();
    for ($i=0; $i <=$leng_public_key-1 ; $i++) {
        array_push($array_pki,$public_key[$i]);
    }
    foreach ($array_pki as $key  => $value) {
        //Changed condition below $key % 2 ==0 => replaced with $key % 2 == 1
        if($key % 2 == 1) {
            // Changed concatenation operator , += replaced with .=
            $priv_key_extract .= $public_key[$key];
        } /*else {
            //Commented this as it is getting overwritten
            $priv_key_extract ="haiiizzz";
        }*/
    }
}
echo $priv_key_extract;
?>

答案 1 :(得分:0)

尝试此功能

function extractKey($key) {
    if (empty($key) || !is_string($key)) return '';

    $pkey = '';
    for ($i=0;$i<strlen($key);$i++) {
        if ($i % 2 == 0) {
            $pkey .= $key[$i];
        }
    }
    return $pkey;
}
echo extractKey('12345678'); # => 1357