![](/img/trans.png)
[英]Bubble sort array, how can I make this php bubble sort code better or more effective?
[英]PHP IF Statement how can I write it more elegant and effective
我現在基於以下一些答案獲得此代碼。
這是最優雅,干凈,快速和有效的代碼嗎?
<?php
/**
* The default template for displaying Google Analytics
*
* @package WordPress
* @subpackage News_Template
* @since News Template 1.0
*/
$googleanalyticscode="<script type='text/javascript'> var _gaq = _gaq || []; _gaq.push(['_setAccount', '%s']); _gaq.push(['_setDomainName', '%s']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>";
$analyticsurlgoogle=array(
'domain-a.com' => 'UA-25133-2',
'domain-b.com' => 'UA-25133',
'domain-c.com' => 'UA-2699-2',
'domain-d.com' => 'UA-3021-2',
'domain-e.com' => 'UA-25537-2',
'domain-f.com' => 'UA-7213-2',
'domain-g.com' => 'UA-7214-2',
'domain-h.com' => 'UA-150-2',
'domain-i.com' => 'UA-150-2'
);
// --- /Configuration ---
// Get the Domain URL
$analyticsurl = get_site_url();
$namegoogle = substr($analyticsurl,7);
//create code
if (isset($analyticsurlgoogle[$namegoogle])) $code=sprintf($googleanalyticscode,$analyticsurlgoogle[$namegoogle],$namegoogle);
else $code='';
echo $code; ?>
------先前的代碼------
我已經用PHP編寫了以下if語句。 編寫此代碼的最優雅,有效和最干凈的方法是什么?
該代碼的目的是檢查站點的域名。 如果網站定義了Google Analytics(分析),則該網站應與為域定義的“ Google Analytics(分析)”代碼匹配,然后將腳本輸出到頁面。
如果未定義Google Analytics(分析)代碼,則不應顯示任何內容!
<?php
// Get the Domain URL
$analyticsurl = get_site_url();
// Check if domain is defined
if ($analyticsurl == 'http://domain-a.com') {$analyticcode = 'UA-25133920-1'; $analyticsurlname = 'domain-a.com';} // domain-a.com
if ($analyticsurl == 'http://domain-b.com') {$analyticcode = 'UA-25133920-1'; $analyticsurlname = 'domain-b.com';} // domain-b.com
if ($analyticsurl == 'http://domain-c.com') {$analyticcode = 'UA-26990264-1'; $analyticsurlname = 'domain-c.com';} // domain-c.com
if ($analyticsurl == 'http://domain-d.com') {$analyticcode = 'UA-30217571-1'; $analyticsurlname = 'domain-d.com';} // domain-d.com
if ($analyticsurl == 'http://domain-e.com') {$analyticcode = 'UA-25537388-1'; $analyticsurlname = 'domain-e.com';} // domain-e.com
// if domain is defined create Google Analytics Code and insert variables
$analyticscode_1 = "<script type='text/javascript'>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '".$analyticcode."']);
_gaq.push(['_setDomainName', '".$analyticsurlname."']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>";
// if URL does not match write nothing
if ($analyticcode == '') {$analyticscode = '';}
// if URL exists set the Google Analytics Code
if ($analyticcode != '') {$analyticscode = $analyticscode_1;}
?>
<?php // write the Analytics code to the page
echo $analyticscode ?>
使用parse_url解析網址(或使用正則表達式刪除http://部分)。
將所有代碼放在一個數組中,其中key是域名。 然后,這是一個簡單的查找。
$codes = array(
'domain-a.com' => 'UA-25133920-1',
//...
);
<?php
// --- Configuration ---
$template="<script type ...
_gaq.push(['_setAccount', '%s']);
_gaq.push(['_setDomainName', '%s']);
...
</script>";
$urls=array(
'domain-a.com' => 'UA-25133920-1',
...
'domain-e.com' => 'UA-25537388-1'
);
// --- /Configuration ---
// Get the Domain URL
$url = get_site_url();
$name = substr($analyticsurl,7);
//create code
if (isset($urls[$name])) $code=sprintf($template,$urls[$name],$name);
else $code='';
// ...
echo $code;
?>
一個switch
語句。
我會將所有記錄保存在一個數組中,這樣我就不會一次又一次地重復條件。
$siteurl = get_site_url();
$analyticsurl = array(
'http://domain-a.com' => 'UA-25133920-1',
'http://domain-b.com' => 'UA-25133920-1',
'http://domain-c.com' => 'UA-26990264-1',
'http://domain-d.com' => 'UA-30217571-1',
'http://domain-e.com' => 'UA-25537388-1'
);
if(in_array($siteurl, $analyticsurl)) {
$analyticcode = $analyticsurl[$siteurl];
$analyticsurlname = str_replace('http://', '', $siteurl);
}
考慮使用switch語句:
switch ($analyticsurl)
{
case: 'http://domain-a.com':
// do some stuff
break;
case: 'http://domain-b.com':
// do some stuff
break;
case: 'http://domain-c.com':
// do some stuff
break;
case: 'http://domain-d.com':
// do some stuff
break;
case 'http://domain-e.com':
// do some stuff
break;
default:
// do something by default if no match
break;
}
<?php
$domains['http://domain-a.com']['code'] = 'UA-25133920-1';
$domains['http://domain-a.com']['urlname'] = 'domain-a.com';
$domains['http://domain-b.com']['code'] = 'UA-25133920-1';
$domains['http://domain-b.com']['urlname'] = 'domain-b.com';
...
// Get the Domain URL
$analyticsurl = get_site_url();
// Check if domain is defined
if (array_key_exists($analyticsurl)) {
// if domain is defined create Google Analytics Code and insert variables
?>
<script type='text/javascript'>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '<?php= $domains[$analyticsurl]['code'] ?>']);
_gaq.push(['_setDomainName', '<?php= $domains[$analyticsurl]['urlname'] ?>']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<?php
}
?>
$domains['http://domain-b.com']['urlname'] = 'domain-b.com';
可以改進,因為您只剝離了HTTP部分,但是我懶得為此提供解決方案。
使用開關塊:
switch ($analyticsurl) {
case: 'http://domain-a.com' :
$analyticcode = 'UA-25133920-1';
$analyticsurlname = 'domain-a.com';
break;
default:
break;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.