2

私が達成しようとしているのは、配列を使用してCSSスタイルシートにリンクすることです。

まず、実行する関数styles()を作成します。styles()関数は次のようになります。

//CSS Stylesheets Includes
function styles()
{
    $linkStyles = array(
    0 => 'main',
    1 => 'topBar',
    2 => 'globals',
    3 => 'search',
    4 => 'menu',
    5 => 'footer',
    6 => 'banner',
    7 => 'slideshow',
    8 => 'graphs',
    9 => 'contact',
    10 => 'news',
    11 => 'products',
    12 => 'support'
    );

    for($i = 0; $i <= count($linkStyles); $i++)
    {
        ?><link rel="stylesheet" charset="text/css" href="css/style_<?php array($linkStyles[$i]); ?>.css" /><?php
    }
}

今私が問題を抱えているのは、for()ループ内で配列を操作することです。配列のキー内の値だけを取得する方法がわかりません。

たとえば、キー0の下の$ linkStyles配列を検索する場合、もちろん引用符なしで「main」だけを返すようにします。最終的な出力は次のようになります。

<link rel="stylesheet" charset="text/css" href="css/style_main.css" />

もちろん、ループがあるので、1つだけでなく12のスタイルシートへのリンクがあります。

4

6 に答える 6

1
foreach ($linkStyles as $v)
{
    echo '<link rel="stylesheet" charset="text/css" href="css/style_' . $v . '.css" />';
}
于 2012-09-27T19:22:17.047 に答える
0

$linkStyles[$i]配列の要素にアクセスしているときに使用するだけです。

そして、このページを見てください。

于 2012-09-27T19:22:29.247 に答える
0

次の行を置き換えます。

array($linkStyles[$i]);

これのために:

echo $linkStyles[$i];
于 2012-09-27T19:22:41.743 に答える
0
   for($i = 0; $i <= count($linkStyles); $i++)
{
    echo "<link rel='stylesheet' charset='text/css' href='css/style_$linkStyles[$i].css'/>";
}
于 2012-09-27T19:23:01.057 に答える
0

これを試して:

function styles()
{
    $linkStyles = array(
    0 => 'main',
    1 => 'topBar',
    2 => 'globals',
    3 => 'search',
    4 => 'menu',
    5 => 'footer',
    6 => 'banner',
    7 => 'slideshow',
    8 => 'graphs',
    9 => 'contact',
    10 => 'news',
    11 => 'products',
    12 => 'support'
    );

    foreach($linkStyles as $style)
    {
        ?><link rel="stylesheet" charset="text/css" href="css/style_<?php echo($style); ?>.css" /><?php
    }
}

また、数値がそのように順番になる場合は、配列要素に数値キーを割り当てる必要はありません。

于 2012-09-27T19:23:25.020 に答える
0

IMOでは、php関数「array_values」を使用できます

http://php.net/manual/es/function.array-values.php

于 2018-09-28T12:42:54.960 に答える