Hallo iedereen,

Ik had een vraagje, hoe check je een array uit met behulp van in if(in_array($server, $conf))


<?php
$server = $_SERVER['SERVER_NAME']; /* Domeinnaam */
$conf = array(
    "lexoft.nl" => array(
        'color' => '',
        'bgcolor' => ''
    ),
    "balk.lexoft.nl" => array(
        'color' => '',
        'bgcolor' => '#CC0000'
    ),
);
?>


Alvast bedankt!
[php]in_array[/php] zoekt naar de array values, niet naar de keys (in tegenstelling tot andere talen waarin de `in` operator juist wel naar de keys zoekt). Gebruik [php]array_key_exists[/php] om te zoeken in de keys.
Gewoon balk.lexoft.nl

Edit: Het werkt, dankje! Ben blij dat ik deze week ga beginnen met een LOI opleiding PHP, hoef ik niet altijd om hulp te vragen, haha.
Dan zou dit gewoon moeten werken?
<?php
$server = $_SERVER['SERVER_NAME']; /* Domeinnaam */
$conf = array(
"lexoft.nl" => array(
'color' => '',
'bgcolor' => ''
),
"balk.lexoft.nl" => array(
'color' => '',
'bgcolor' => '#CC0000'
),
);

if (array_key_exists($server, $conf) && $_GET['type'] == 'css')
{
$array = $conf[$server];

echo 'Color: '.$array['color'].'<br>';
echo 'Bgcolor: '.$array['bgcolor'];
}
?>
Thanks people!

[size=xsmall]Toevoeging op 22/01/2013 15:24:53:[/size]

Ik had nog een vraagje, ik heb het volgende:


<?php
foreach($conf as $value){
	echo "<a href='".$value."' target='top'>".$value['name']."</a>";
}
?>

maar als ik $value alleen doe, krijg ik Array.. hoe kan ik dat oplossen?
Dat komt omdat $value ook een array is.

conf is een array met daarin 2 array's. De sleutels van deze array's zijn lexoft.nl en balk.lexoft.nl

<?php

foreach($conf as $url => $data){

echo '<a href="'.$url.'" target="top">'.$data['name'].'</a>';
}

?>
Dankjewel!

[size=xsmall]Toevoeging op 22/01/2013 15:50:00:[/size]

Wat ik merk is, dat $_SERVER['SERVER_NAME'] niet werkt via een <link rel="stylesheet">, weten jullie misschien een alternatief? Ik krijg alleen de domein waar dat bestand staat, niet waar die geïnclude't wordt
Kun je een voorbeeld geven van wat je krijgt en wat je wilt krijgen?
Ik wil op iedere site een bovenbalk, die laadt ik in via 1 subdomein balk.lexoft.nl maar ik wil per site andere kleuren gebruiken:

Dit heb ik al:


<?php
$server = $_SERVER['SERVER_NAME']; /* Domeinnaam */
$type = $_GET['type'];
/* Waardes */
$conf = array(
    "lexoft.nl" => array(
		'name' => 'Lexoft',
        'height' => '24',
		'top' => '3',
        'color' => '#fff',
        'bgcolor' => '#CC00000'
    ),
    "24ou.nl" => array(
		'name' => '24 For You',
        'height' => '24',
		'top' => '3',
        'color' => '#fff',
        'bgcolor' => '#CC0000'
    ),
    "alpha-alblasserdam.nl" => array(
		'name' => 'Alpha Alblasserdam',
        'height' => '24',
		'top' => '3',
        'color' => '#fff',
        'bgcolor' => '#CC0000'
    ),
    "debridge.nl" => array(
		'name' => 'De Bridge',
        'height' => '24',
		'top' => '3',
        'color' => '#fff',
        'bgcolor' => '#CC0000'
    ),
);
if(array_key_exists($server, $conf)){
	if(isset($type) && $type=="css"){
		$array = $conf[$server];
?>
body{margin:0}
#navigatie {
	width:100%;
	height:<?php echo $array['height']; ?>px;
	background-color:<?php echo $array['bgcolor']; ?>;
	margin:0;
	padding:0;
	padding-left:17px;
	white-space:nowrap;
	font:14px calibri,arial,sans-serif;
	font-weight:bold;
	text-align:-webkit-match-parent;
	border-bottom:0px solid #57b3d3;
}
#navigatie #menu {width:900px;padding-top:<?php echo $array['top']?>px;}
#navigatie #menu a {float:left;margin-right:20px;color:<?php echo $array['color']?>!important;text-decoration: none;}
#navigatie #menu a:hover {text-decoration:underline;}
<?php }else{ ?>
<div id="navigatie">
	<div id="menu">
<?php
foreach($conf as $url => $value){
echo "<a href='http://".$url."' target='top'>".$value['name']."</a>".PHP_EOL;
}
?>
	</div>
</div>
	<?php }
}
?>
En wat is het resultaat van bovenstaand?
De html-code werkt, maar als ik hem include met <link> is ie leeg (Omdat die check niet werkt met <link>)

Reageren